xml_soccer 0.0.1.pre1

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore ADDED
@@ -0,0 +1,19 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ .vagrant
7
+ Gemfile.lock
8
+ InstalledFiles
9
+ _yardoc
10
+ coverage
11
+ doc/
12
+ lib/bundler/man
13
+ pkg
14
+ rdoc
15
+ spec/reports
16
+ test/tmp
17
+ test/version_tmp
18
+ tmp
19
+ Vagrantfile
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in xmlsoccer.gemspec
4
+ gemspec
data/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2013 Kavinder Dhaliwal
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,76 @@
1
+
2
+ # XmlSoccer
3
+
4
+ This is a Ruby wrapper for the excellent soccer data Api that can be found at www.xmlsoccer.com
5
+
6
+ This particular gem is a rewrite/refactoring of the xmlsoccer gem (https://github.com/kavinderd/xmlsoccer)
7
+
8
+ Please note that this gem is currently in pre-release, and is subject to change.
9
+
10
+ ## Installation
11
+
12
+ This gem requires Ruby 2.0 or greater, due to the use of keyword arguments in methods.
13
+
14
+ Add this line to your application's Gemfile:
15
+
16
+ gem 'xml_soccer'
17
+
18
+ And then execute:
19
+
20
+ $ bundle
21
+
22
+ Or install it yourself as:
23
+
24
+ $ gem install xml_soccer
25
+
26
+ ## Usage
27
+
28
+ The xmlsoccer.com API is a SOAP service, so this gem uses the 'Savon' gem to interface.
29
+
30
+ I would recommend everyone interested in using this gem to first read the documentation for the xmlsoccer.com API at http://xmlsoccer.wikia.com/wiki/Main_Page
31
+
32
+ Additionally, the author of the xmlsoccer.com API has put a rate limit on all requests: http://xmlsoccer.wikia.com/wiki/Time_interval_limits
33
+
34
+ This gem checks when the last request was made, and currently requires you to wait between calls. I will be making a more robust request
35
+ time check that will be more in line with the xmlsoccer.com limitations.
36
+
37
+ You must have an xmlsoccer.com API Key and know which API type to use. Currently there are two types: XmlSoccer::DEMO and XmlSoccer::FULL.
38
+ Demo is the default if you do not explicitly provide a type.
39
+
40
+ Example Use:
41
+
42
+ xmlsoccer.com API GetAllLeagues
43
+
44
+ xmlsoccer = XmlSoccer.new(api_key: 'Api_key', api_type:'Api_Type')
45
+
46
+ leagues = xmlsoccer.leagues
47
+
48
+ leagues.each do |league|
49
+ put league[:name]
50
+ end
51
+
52
+ The following methods are currently implemented:
53
+
54
+ xml_soccer method | xmlsoccer.com API call
55
+ --- | ---
56
+ `leagues` | GetAllLeagues
57
+ `teams` | GetAllTeams
58
+ `teams_in_league_by_season(league: 'league', season: 'season')` | GetAllTeamsByLeagueAndSeason
59
+ `fixtures_by_date(start_date: Date, end_date: Date)` | GetFixturesByDateInterval
60
+ `fixtures_by_date_and_league(league: 'league', start_date: Date, end_date: Date)` | GetFixturesByDateIntervalAndLeague
61
+ `fixtures_by_date_and_team(team: 'team', start_date: Date, end_date: Date)` | GetFixturesByDateIntervalAndTeam
62
+ `historic_match_by_fixture(fixture_id: 'fixture_id')` | GetHistoricMatchesByFixtureMatchID
63
+ `historic_match(match_id: 'match_id')` | GetHistoricMatchesByID
64
+ `historic_matches_by_league_and_date(league: 'league', start_date: Date, end_date: Date)` | GetHistoricMatchesByLeagueAndDateInterval
65
+ `historic_matches_by_league_and_season(league: 'league', season: 'season')` | GetHistoricMatchesByLeagueAndSeason
66
+ `historic_matches_by_team_and_date(team: 'team', start_date: Date, end_date: Date)` | GetHistoricMatchesByTeamAndDateInterval
67
+ `historic_matches_by_teams_and_date(team_1: 'team_1', team_2: 'team_2', start_date: Date, end_date: Date)` | GetHistoricMatchesByTeamsAndDateInterval
68
+
69
+
70
+ ## Contributing
71
+
72
+ 1. Fork it ( https://github.com/nosenseworrying/xmlsoccer/fork )
73
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
74
+ 3. Commit your changes (`git commit -am 'Added some feature'`)
75
+ 4. Push to the branch (`git push origin my-new-feature`)
76
+ 5. Create new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env rake
2
+ require "bundler/gem_tasks"
3
+ require 'rspec/core/rake_task'
4
+
5
+ RSpec::Core::RakeTask.new(:spec)
6
+ task default: :spec
@@ -0,0 +1,3 @@
1
+ #class XmlSoccer
2
+ # VERSION = "0.0.1"
3
+ #end
data/lib/xml_soccer.rb ADDED
@@ -0,0 +1,179 @@
1
+ #require "xml_soccer/version"
2
+ require 'savon'
3
+ require 'active_support/time'
4
+
5
+ class XmlSoccer
6
+ DEMO = "Demo"
7
+ FULL = "Full"
8
+ DEMO_URL = "http://www.xmlsoccer.com/FootballDataDemo.asmx?WSDL"
9
+ FULL_URL = "http://www.xmlsoccer.com/FootballData.asmx?WSDL"
10
+ WAIT = 'Wait 5 minutes between calls'
11
+
12
+ private
13
+ attr_reader :api_key, :client
14
+ attr_accessor :last_call
15
+
16
+ public
17
+ def initialize(options={})
18
+ @api_key = options[:api_key]
19
+
20
+ case options.fetch(:api_type, XmlSoccer::DEMO)
21
+ when DEMO then base_url = DEMO_URL
22
+ when FULL then base_url = FULL_URL
23
+ end
24
+
25
+ @client = Savon.client(wsdl: base_url)
26
+ self.last_call = 1.day.ago
27
+ end
28
+
29
+ def leagues
30
+ if last_call > 60.minutes.ago
31
+ return WAIT
32
+ else
33
+ response = client.call(:get_all_leagues, message:{"ApiKey" => api_key})
34
+ self.last_call = Time.now
35
+ return response.hash[:envelope][:body][:get_all_leagues_response][:get_all_leagues_result][:xmlsoccer_com][:league]
36
+ end
37
+ end
38
+
39
+ def teams
40
+ if last_call > 60.minutes.ago
41
+ return WAIT
42
+ else
43
+ response = client.call(:get_all_teams, message:{"ApiKey" => api_key})
44
+ self.last_call = Time.now
45
+ return response.hash[:envelope][:body][:get_all_teams_response][:get_all_teams_result][:xmlsoccer_com][:team]
46
+ end
47
+ end
48
+
49
+ def teams_in_league_by_season(league: nil, season: nil)
50
+ if last_call > 5.minutes.ago
51
+ return WAIT
52
+ else
53
+ response = client.call(:get_all_teams_by_league_and_season, message: {"ApiKey" => api_key, "league" => league, "seasonDateString" => season})
54
+ self.last_call = Time.now
55
+ return response.hash[:envelope][:body][:get_all_teams_by_league_and_season_response][:get_all_teams_by_league_and_season_result][:xmlsoccer_com][:team]
56
+ end
57
+ end
58
+
59
+ def fixtures_by_date(start_date: nil, end_date: nil)
60
+ if last_call > 5.minutes.ago
61
+ return WAIT
62
+ else
63
+ response = client.call(:get_fixtures_by_date_interval,
64
+ message: {"ApiKey" => api_key,
65
+ "startDateString" => start_date.strftime("%Y-%m-%d"),
66
+ "endDateString" => end_date.strftime("%Y-%m-%d")})
67
+ self.last_call = Time.now
68
+ return response.hash[:envelope][:body][:get_fixtures_by_date_interval_response][:get_fixtures_by_date_interval_result][:xmlsoccer_com][:match]
69
+ end
70
+ end
71
+
72
+ def fixtures_by_date_and_league(league: nil, start_date: nil, end_date: nil)
73
+ if last_call > 5.minutes.ago
74
+ return WAIT
75
+ else
76
+ response = client.call(:get_fixtures_by_date_interval_and_league,
77
+ message: {"ApiKey" => api_key,
78
+ "league" => league,
79
+ "startDateString" => start_date.strftime("%Y-%m-%d"),
80
+ "endDateString" => end_date.strftime("%Y-%m-%d")})
81
+ self.last_call = Time.now
82
+ return response.hash[:envelope][:body][:get_fixtures_by_date_interval_and_league_response][:get_fixtures_by_date_interval_and_league_result][:xmlsoccer_com][:match]
83
+ end
84
+ end
85
+
86
+ def fixtures_by_date_and_team(team: nil, start_date: nil, end_date: nil)
87
+ if last_call > 5.minutes.ago
88
+ return WAIT
89
+ else
90
+ response = client.call(:get_fixtures_by_date_interval_and_team,
91
+ message: {"ApiKey" => api_key,
92
+ "teamId" => team,
93
+ "startDateString" => start_date.strftime("%Y-%m-%d"),
94
+ "endDateString" => end_date.strftime("%Y-%m-%d")})
95
+ self.last_call = Time.now
96
+ return response.hash[:envelope][:body][:get_fixtures_by_date_interval_and_team_response][:get_fixtures_by_date_interval_and_team_result][:xmlsoccer_com][:match]
97
+ end
98
+ end
99
+
100
+ def historic_match_by_fixture(fixture_id: nil)
101
+ if last_call > 5.minutes.ago
102
+ return WAIT
103
+ else
104
+ response = client.call(:get_historic_matches_by_fixture_match_id,
105
+ message: {"ApiKey" => api_key,
106
+ "Id" => fixture_id})
107
+ self.last_call = Time.now
108
+ return response.hash[:envelope][:body][:get_historic_matches_by_fixture_match_id_response][:get_historic_matches_by_fixture_match_id_result][:xmlsoccer_com][:match]
109
+ end
110
+ end
111
+
112
+ def historic_match(match_id: nil)
113
+ if last_call > 5.minutes.ago
114
+ return WAIT
115
+ else
116
+ response = client.call(:get_historic_matches_by_id,
117
+ message: {"ApiKey" => api_key,
118
+ "Id" => match_id})
119
+ self.last_call = Time.now
120
+ return response.hash[:envelope][:body][:get_historic_matches_by_id_response][:get_historic_matches_by_id_result][:xmlsoccer_com][:match]
121
+ end
122
+ end
123
+
124
+ def historic_matches_by_league_and_date(league: nil, start_date: nil, end_date: nil)
125
+ if last_call > 5.minutes.ago
126
+ return WAIT
127
+ else
128
+ response = client.call(:get_historic_matches_by_league_and_date_interval,
129
+ message: {"ApiKey" => api_key,
130
+ "league" => league,
131
+ "startDateString" => start_date.strftime("%Y-%m-%d"),
132
+ "endDateString" => end_date.strftime("%Y-%m-%d")})
133
+ self.last_call = Time.now
134
+ return response.hash[:envelope][:body][:get_historic_matches_by_league_and_date_interval_response][:get_historic_matches_by_league_and_date_interval_result][:xmlsoccer_com][:match]
135
+ end
136
+ end
137
+
138
+ def historic_matches_by_league_and_season(league: nil, season: nil)
139
+ if last_call > 5.minutes.ago
140
+ return WAIT
141
+ else
142
+ response = client.call(:get_historic_matches_by_league_and_season,
143
+ message: {"ApiKey" => api_key,
144
+ "league" => league, "seasonDateString" => season})
145
+ self.last_call = Time.now
146
+ return response.hash[:envelope][:body][:get_historic_matches_by_league_and_season_response][:get_historic_matches_by_league_and_season_result][:xmlsoccer_com][:match]
147
+ end
148
+ end
149
+
150
+ def historic_matches_by_team_and_date(team: nil, start_date: nil, end_date: nil)
151
+ if last_call > 5.minutes.ago
152
+ return WAIT
153
+ else
154
+ response = client.call(:get_historic_matches_by_team_and_date_interval,
155
+ message: {"ApiKey" => api_key,
156
+ "teamId" => team,
157
+ "startDateString" => start_date.strftime("%Y-%m-%d"),
158
+ "endDateString" => end_date.strftime("%Y-%m-%d")})
159
+ self.last_call = Time.now
160
+ return response.hash[:envelope][:body][:get_historic_matches_by_team_and_date_interval_response][:get_historic_matches_by_team_and_date_interval_result][:xmlsoccer_com][:match]
161
+ end
162
+ end
163
+
164
+ def historic_matches_by_teams_and_date(team_1: nil, team_2: nil, start_date: nil, end_date: nil)
165
+ if last_call > 5.minutes.ago
166
+ return WAIT
167
+ else
168
+ response = client.call(:get_historic_matches_by_teams_and_date_interval,
169
+ message: {"ApiKey" => api_key,
170
+ "team1Id" => team_1,
171
+ "team2Id" => team_2,
172
+ "startDateString" => start_date.strftime("%Y-%m-%d"),
173
+ "endDateString" => end_date.strftime("%Y-%m-%d")})
174
+ self.last_call = Time.now
175
+ return response.hash[:envelope][:body][:get_historic_matches_by_teams_and_date_interval_response][:get_historic_matches_by_teams_and_date_interval_result][:xmlsoccer_com][:match]
176
+ end
177
+ end
178
+
179
+ end
@@ -0,0 +1,32 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Envelope>
3
+ <Body>
4
+ <GetAllLeaguesResponse>
5
+ <GetAllLeaguesResult>
6
+ <XMLSOCCER.COM>
7
+ <League>
8
+ <Id>1</Id>
9
+ <Name>English Premier League</Name>
10
+ <Country>England</Country>
11
+ <Historical_Data>Yes</Historical_Data>
12
+ <Fixtures>Yes</Fixtures>
13
+ <Livescore>Yes</Livescore>
14
+ <NumberOfMatches>2557</NumberOfMatches>
15
+ <LatestMatch>2013-03-02T16:00:00+01:00</LatestMatch>
16
+ </League>
17
+ <League>
18
+ <Id>2</Id>
19
+ <Name>English League Championship</Name>
20
+ <Country>England</Country>
21
+ <Historical_Data>Yes</Historical_Data>
22
+ <Fixtures>Yes</Fixtures>
23
+ <Livescore>Yes</Livescore>
24
+ <NumberOfMatches>3267</NumberOfMatches>
25
+ <LatestMatch>2013-03-02T16:00:00+01:00</LatestMatch>
26
+ </League>
27
+ <AccountInformation>Data requested at 02-03-2013 21:02:09 from XX.XX.XX.XX, Username: Espectro. Your current supscription runs out on XX-XX-XXXX 11:01:25.</AccountInformation>
28
+ </XMLSOCCER.COM>
29
+ </GetAllLeaguesResult>
30
+ </GetAllLeaguesResponse>
31
+ </Body>
32
+ </Envelope>
@@ -0,0 +1,27 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Envelope>
3
+ <Body>
4
+ <GetAllTeamsResponse>
5
+ <GetAllTeamsResult>
6
+ <XMLSOCCER.COM>
7
+ <Team>
8
+ <Team_Id>4</Team_Id>
9
+ <Name>Fulham</Name>
10
+ <Country>England</Country>
11
+ <Stadium>Craven Cottage</Stadium>
12
+ <HomePageURL>http://www.fulhamfc.com/</HomePageURL>
13
+ <WIKILink>http://en.wikipedia.org/wiki/Fulham_F.C.</WIKILink>
14
+ </Team>
15
+ <Team>
16
+ <Team_Id>5</Team_Id>
17
+ <Name>Aston Villa</Name>
18
+ <Country>England</Country>
19
+ <Stadium>Villa Park</Stadium>
20
+ <HomePageURL>http://www.avfc.co.uk/9laI7Jw</HomePageURL>
21
+ <WIKILink>http://en.wikipedia.org/wiki/Aston_Villa_F.C.</WIKILink>
22
+ </Team>
23
+ </XMLSOCCER.COM>
24
+ </GetAllTeamsResult>
25
+ </GetAllTeamsResponse>
26
+ </Body>
27
+ </Envelope>
@@ -0,0 +1,27 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Envelope>
3
+ <Body>
4
+ <GetAllTeamsByLeagueAndSeasonResponse>
5
+ <GetAllTeamsByLeagueAndSeasonResult>
6
+ <XMLSOCCER.COM>
7
+ <Team>
8
+ <Team_Id>4</Team_Id>
9
+ <Name>Fulham</Name>
10
+ <Country>England</Country>
11
+ <Stadium>Craven Cottage</Stadium>
12
+ <HomePageURL>http://www.fulhamfc.com/</HomePageURL>
13
+ <WIKILink>http://en.wikipedia.org/wiki/Fulham_F.C.</WIKILink>
14
+ </Team>
15
+ <Team>
16
+ <Team_Id>5</Team_Id>
17
+ <Name>Aston Villa</Name>
18
+ <Country>England</Country>
19
+ <Stadium>Villa Park</Stadium>
20
+ <HomePageURL>http://www.avfc.co.uk/9laI7Jw</HomePageURL>
21
+ <WIKILink>http://en.wikipedia.org/wiki/Aston_Villa_F.C.</WIKILink>
22
+ </Team>
23
+ </XMLSOCCER.COM>
24
+ </GetAllTeamsByLeagueAndSeasonResult>
25
+ </GetAllTeamsByLeagueAndSeasonResponse>
26
+ </Body>
27
+ </Envelope>
@@ -0,0 +1,59 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Envelope>
3
+ <Body>
4
+ <GetFixturesByDateIntervalResponse>
5
+ <GetFixturesByDateIntervalResult>
6
+ <XMLSOCCER.COM>
7
+ <Match>
8
+ <Id>287180</Id>
9
+ <Date>2013-02-22T21:30:00+01:00</Date>
10
+ <League>La Liga</League>
11
+ <Round>25</Round>
12
+ <HomeTeam>Ath Bilbao</HomeTeam>
13
+ <HomeTeam_Id>143</HomeTeam_Id>
14
+ <HomeGoals>1</HomeGoals>
15
+ <AwayTeam>Sociedad</AwayTeam>
16
+ <AwayTeam_Id>140</AwayTeam_Id>
17
+ <AwayGoals>3</AwayGoals>
18
+ <Time>Finished</Time>
19
+ <Location>San Mam?s</Location>
20
+ <BetAtHome>2,20</BetAtHome>
21
+ <BetAtDraw>3,35</BetAtDraw>
22
+ <BetAtAway>3,15</BetAtAway>
23
+ <BetAtHomeLink>http://affiliates.bet-at-home.com/processing/clickthrgh.asp?btag=a_62598b_303</BetAtHomeLink>
24
+ <InterwettenHome>2,10</InterwettenHome>
25
+ <InterwettenDraw>3,30</InterwettenDraw>
26
+ <InterwettenAway>3,30</InterwettenAway>
27
+ <InterwettenLink>https://www.interwetten.com/en/sportsbook/e/9752883/</InterwettenLink>
28
+ <HomeTeamYellowCardDetails>84': Iker Muniain;45': Ander Iturraspe;38': Aymeric Laporte;</HomeTeamYellowCardDetails>
29
+ <AwayTeamYellowCardDetails>49': Asier Illarramendi;</AwayTeamYellowCardDetails>
30
+ <HomeTeamRedCardDetails/>
31
+ <AwayTeamRedCardDetails/>
32
+ </Match>
33
+ <Match>
34
+ <Id>286593</Id>
35
+ <Date>2013-02-22T21:00:00+01:00</Date>
36
+ <League>Serie B</League>
37
+ <Round>27</Round>
38
+ <HomeTeam>Spezia</HomeTeam>
39
+ <HomeTeam_Id>295</HomeTeam_Id>
40
+ <HomeGoals>0</HomeGoals>
41
+ <AwayTeam>Novara</AwayTeam>
42
+ <AwayTeam_Id>82</AwayTeam_Id>
43
+ <AwayGoals>6</AwayGoals>
44
+ <Time>Finished</Time>
45
+ <Location>Stadio Alberto Picco</Location>
46
+ <BetAtHome>2,10</BetAtHome>
47
+ <BetAtDraw>2,85</BetAtDraw>
48
+ <BetAtAway>3,50</BetAtAway>
49
+ <BetAtHomeLink>http://affiliates.bet-at-home.com/processing/clickthrgh.asp?btag=a_62598b_303</BetAtHomeLink>
50
+ <HomeTeamYellowCardDetails/>
51
+ <AwayTeamYellowCardDetails/>
52
+ <HomeTeamRedCardDetails/>
53
+ <AwayTeamRedCardDetails/>
54
+ </Match>
55
+ </XMLSOCCER.COM>
56
+ </GetFixturesByDateIntervalResult>
57
+ </GetFixturesByDateIntervalResponse>
58
+ </Body>
59
+ </Envelope>
@@ -0,0 +1,47 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Envelope>
3
+ <Body>
4
+ <GetFixturesByDateIntervalAndLeagueResponse>
5
+ <GetFixturesByDateIntervalAndLeagueResult>
6
+ <XMLSOCCER.COM>
7
+ <Match>
8
+ <Id>324725</Id>
9
+ <Date>2014-01-04T07:00:00-08:00</Date>
10
+ <League>Scottish Premier League</League>
11
+ <Round>21</Round>
12
+ <HomeTeam>Ross County</HomeTeam>
13
+ <HomeTeam_Id>360</HomeTeam_Id>
14
+ <HomeGoals>1</HomeGoals>
15
+ <AwayTeam>St Johnstone</AwayTeam>
16
+ <AwayTeam_Id>46</AwayTeam_Id>
17
+ <AwayGoals>0</AwayGoals>
18
+ <Time>Finished</Time>
19
+ <Location>Victoria Park</Location>
20
+ <HomeTeamYellowCardDetails>89': Scott Boyd;</HomeTeamYellowCardDetails>
21
+ <AwayTeamYellowCardDetails>61': David Mackay;</AwayTeamYellowCardDetails>
22
+ <HomeTeamRedCardDetails />
23
+ <AwayTeamRedCardDetails />
24
+ </Match>
25
+ <Match>
26
+ <Id>324726</Id>
27
+ <Date>2014-01-05T04:45:00-08:00</Date>
28
+ <League>Scottish Premier League</League>
29
+ <Round>21</Round>
30
+ <HomeTeam>St Mirren</HomeTeam>
31
+ <HomeTeam_Id>56</HomeTeam_Id>
32
+ <HomeGoals>0</HomeGoals>
33
+ <AwayTeam>Celtic</AwayTeam>
34
+ <AwayTeam_Id>54</AwayTeam_Id>
35
+ <AwayGoals>4</AwayGoals>
36
+ <Time>Finished</Time>
37
+ <Location>St. Mirren Park</Location>
38
+ <HomeTeamYellowCardDetails>78': Lee Mair;</HomeTeamYellowCardDetails>
39
+ <AwayTeamYellowCardDetails>90': Efe Ambrose;89': Emilio Izaguirre;33': Scott Brown;</AwayTeamYellowCardDetails>
40
+ <HomeTeamRedCardDetails />
41
+ <AwayTeamRedCardDetails />
42
+ </Match>
43
+ </XMLSOCCER.COM>
44
+ </GetFixturesByDateIntervalAndLeagueResult>
45
+ </GetFixturesByDateIntervalAndLeagueResponse>
46
+ </Body>
47
+ </Envelope>
@@ -0,0 +1,29 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Envelope>
3
+ <Body>
4
+ <GetFixturesByDateIntervalAndTeamResponse>
5
+ <GetFixturesByDateIntervalAndTeamResult>
6
+ <XMLSOCCER.COM>
7
+ <Match>
8
+ <Id>324725</Id>
9
+ <Date>2014-01-04T07:00:00-08:00</Date>
10
+ <League>Scottish Premier League</League>
11
+ <Round>21</Round>
12
+ <HomeTeam>Ross County</HomeTeam>
13
+ <HomeTeam_Id>360</HomeTeam_Id>
14
+ <HomeGoals>1</HomeGoals>
15
+ <AwayTeam>St Johnstone</AwayTeam>
16
+ <AwayTeam_Id>46</AwayTeam_Id>
17
+ <AwayGoals>0</AwayGoals>
18
+ <Time>Finished</Time>
19
+ <Location>Victoria Park</Location>
20
+ <HomeTeamYellowCardDetails>89': Scott Boyd;</HomeTeamYellowCardDetails>
21
+ <AwayTeamYellowCardDetails>61': David Mackay;</AwayTeamYellowCardDetails>
22
+ <HomeTeamRedCardDetails />
23
+ <AwayTeamRedCardDetails />
24
+ </Match>
25
+ </XMLSOCCER.COM>
26
+ </GetFixturesByDateIntervalAndTeamResult>
27
+ </GetFixturesByDateIntervalAndTeamResponse>
28
+ </Body>
29
+ </Envelope>
@@ -0,0 +1,57 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Envelope>
3
+ <Body>
4
+ <GetHistoricMatchesByFixtureMatchIdResponse>
5
+ <GetHistoricMatchesByFixtureMatchIdResult>
6
+ <XMLSOCCER.COM>
7
+ <Match>
8
+ <Id>65805</Id>
9
+ <FixtureMatch_Id>324725</FixtureMatch_Id>
10
+ <Date>2014-01-04T07:00:00-08:00</Date>
11
+ <Round>21</Round>
12
+ <Spectators>3212</Spectators>
13
+ <League>Scottish Premier League</League>
14
+ <HomeTeam>Ross County</HomeTeam>
15
+ <HomeTeam_Id>360</HomeTeam_Id>
16
+ <HomeCorners>5</HomeCorners>
17
+ <HomeGoals>1</HomeGoals>
18
+ <HalfTimeHomeGoals>0</HalfTimeHomeGoals>
19
+ <HomeShots>10</HomeShots>
20
+ <HomeShotsOnTarget>2</HomeShotsOnTarget>
21
+ <HomeFouls>13</HomeFouls>
22
+ <HomeGoalDetails>88': Graham Carey;</HomeGoalDetails>
23
+ <HomeLineupGoalkeeper> Michael Fraser</HomeLineupGoalkeeper>
24
+ <HomeLineupDefense> Scott Boyd; Brian McLean; Ben Gordon; Evangelos Ikonomou;</HomeLineupDefense>
25
+ <HomeLineupMidfield> Stuart Kettlewell; Alex Cooper; Richard Brittain; Graham Carey;</HomeLineupMidfield>
26
+ <HomeLineupForward> Jordan Slew; Gary Glen;</HomeLineupForward>
27
+ <HomeYellowCards>1</HomeYellowCards>
28
+ <HomeRedCards>0</HomeRedCards>
29
+ <HomeTeamFormation>4-4-2</HomeTeamFormation>
30
+ <AwayTeam>St Johnstone</AwayTeam>
31
+ <AwayTeam_Id>46</AwayTeam_Id>
32
+ <AwayCorners>0</AwayCorners>
33
+ <AwayGoals>0</AwayGoals>
34
+ <HalfTimeAwayGoals>0</HalfTimeAwayGoals>
35
+ <AwayShots>9</AwayShots>
36
+ <AwayShotsOnTarget>3</AwayShotsOnTarget>
37
+ <AwayFouls>14</AwayFouls>
38
+ <AwayGoalDetails />
39
+ <AwayLineupGoalkeeper> Alan Mannus</AwayLineupGoalkeeper>
40
+ <AwayLineupDefense> Frazer Wright; Steven Anderson; Thomas Scobbie; David Mackay;</AwayLineupDefense>
41
+ <AwayLineupMidfield> David Wotherspoon; Murray Davidson; Chris Millar; Gary McDonald;</AwayLineupMidfield>
42
+ <AwayLineupForward> Nigel Hasselbaink; Steve May;</AwayLineupForward>
43
+ <AwayYellowCards>1</AwayYellowCards>
44
+ <AwayRedCards>0</AwayRedCards>
45
+ <AwayTeamFormation>4-4-2</AwayTeamFormation>
46
+ <HomeTeamYellowCardDetails>89': Scott Boyd;</HomeTeamYellowCardDetails>
47
+ <AwayTeamYellowCardDetails>61': David Mackay;</AwayTeamYellowCardDetails>
48
+ <HomeTeamRedCardDetails />
49
+ <AwayTeamRedCardDetails />
50
+ <HomeSubDetails>84': in Michael Tidser;84': out Jordan Slew;66': out Gary Glen;66': in Melvin de Leeuw;</HomeSubDetails>
51
+ <AwaySubDetails>90': in Rory Fallon;90': in Lee Croft;90': out Chris Millar;90': out David Wotherspoon;69': out Nigel Hasselbaink;69': in Michael O'Halloran;</AwaySubDetails>
52
+ </Match>
53
+ </XMLSOCCER.COM>
54
+ </GetHistoricMatchesByFixtureMatchIdResult>
55
+ </GetHistoricMatchesByFixtureMatchIdResponse>
56
+ </Body>
57
+ </Envelope>
@@ -0,0 +1,57 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Envelope>
3
+ <Body>
4
+ <GetHistoricMatchesByIdResponse>
5
+ <GetHistoricMatchesByIdResult>
6
+ <XMLSOCCER.COM>
7
+ <Match>
8
+ <Id>65805</Id>
9
+ <FixtureMatch_Id>324725</FixtureMatch_Id>
10
+ <Date>2014-01-04T07:00:00-08:00</Date>
11
+ <Round>21</Round>
12
+ <Spectators>3212</Spectators>
13
+ <League>Scottish Premier League</League>
14
+ <HomeTeam>Ross County</HomeTeam>
15
+ <HomeTeam_Id>360</HomeTeam_Id>
16
+ <HomeCorners>5</HomeCorners>
17
+ <HomeGoals>1</HomeGoals>
18
+ <HalfTimeHomeGoals>0</HalfTimeHomeGoals>
19
+ <HomeShots>10</HomeShots>
20
+ <HomeShotsOnTarget>2</HomeShotsOnTarget>
21
+ <HomeFouls>13</HomeFouls>
22
+ <HomeGoalDetails>88': Graham Carey;</HomeGoalDetails>
23
+ <HomeLineupGoalkeeper> Michael Fraser</HomeLineupGoalkeeper>
24
+ <HomeLineupDefense> Scott Boyd; Brian McLean; Ben Gordon; Evangelos Ikonomou;</HomeLineupDefense>
25
+ <HomeLineupMidfield> Stuart Kettlewell; Alex Cooper; Richard Brittain; Graham Carey;</HomeLineupMidfield>
26
+ <HomeLineupForward> Jordan Slew; Gary Glen;</HomeLineupForward>
27
+ <HomeYellowCards>1</HomeYellowCards>
28
+ <HomeRedCards>0</HomeRedCards>
29
+ <HomeTeamFormation>4-4-2</HomeTeamFormation>
30
+ <AwayTeam>St Johnstone</AwayTeam>
31
+ <AwayTeam_Id>46</AwayTeam_Id>
32
+ <AwayCorners>0</AwayCorners>
33
+ <AwayGoals>0</AwayGoals>
34
+ <HalfTimeAwayGoals>0</HalfTimeAwayGoals>
35
+ <AwayShots>9</AwayShots>
36
+ <AwayShotsOnTarget>3</AwayShotsOnTarget>
37
+ <AwayFouls>14</AwayFouls>
38
+ <AwayGoalDetails />
39
+ <AwayLineupGoalkeeper> Alan Mannus</AwayLineupGoalkeeper>
40
+ <AwayLineupDefense> Frazer Wright; Steven Anderson; Thomas Scobbie; David Mackay;</AwayLineupDefense>
41
+ <AwayLineupMidfield> David Wotherspoon; Murray Davidson; Chris Millar; Gary McDonald;</AwayLineupMidfield>
42
+ <AwayLineupForward> Nigel Hasselbaink; Steve May;</AwayLineupForward>
43
+ <AwayYellowCards>1</AwayYellowCards>
44
+ <AwayRedCards>0</AwayRedCards>
45
+ <AwayTeamFormation>4-4-2</AwayTeamFormation>
46
+ <HomeTeamYellowCardDetails>89': Scott Boyd;</HomeTeamYellowCardDetails>
47
+ <AwayTeamYellowCardDetails>61': David Mackay;</AwayTeamYellowCardDetails>
48
+ <HomeTeamRedCardDetails />
49
+ <AwayTeamRedCardDetails />
50
+ <HomeSubDetails>84': in Michael Tidser;84': out Jordan Slew;66': out Gary Glen;66': in Melvin de Leeuw;</HomeSubDetails>
51
+ <AwaySubDetails>90': in Rory Fallon;90': in Lee Croft;90': out Chris Millar;90': out David Wotherspoon;69': out Nigel Hasselbaink;69': in Michael O'Halloran;</AwaySubDetails>
52
+ </Match>
53
+ </XMLSOCCER.COM>
54
+ </GetHistoricMatchesByIdResult>
55
+ </GetHistoricMatchesByIdResponse>
56
+ </Body>
57
+ </Envelope>