This is a proposal for improvements to the SportsML tournament structure. We use the example of Champions League and Euro 2008 to illustrate some of the following problems and solutions. The samples are here.
Problem: Groups are divisions of a stage
(Groups Stage), yet division is allowed only as a child of the
“tournament” element. Groups stage needs to be properly
represented.
Solution: Allow “tournament-division” as
child of tournament-stage. Allow tournament-stage as child of
tournament. (Stage was previously only allowed under division,
which in turn was only allowed under tournament, thus making
division a de facto required element.) Must be
decided which is preferable: groups represented as stages or as
rounds (or leave it open?). Both are now valid and illustrated in
the following files: Euro
2008: Groups as stages | Euro
2008: Groups as rounds.
Problem: Standings are relevant at certain stages of some tournaments (eg. Groups Stage of Euro 2008). Yet they are allowed only under the tournament-division element.
Solution: Allow standings under
tournament, tournament-stage and
tournament-round. Also, an attribute to specify if advancement is
based on elimination or standings points. A proposal:
tournament-stage-metadata/@stage-type (group | series | single-elimination | home-and-home)
tournament-round-metadata/@round-type (group | series | single-elimination | home-and-home) (added March 2/09)
Problem: There is no means of specifying the exact format of a tournament. For example, how do you say of a tournament event “This is the second leg of the second round of a knockout stage”? Another way of asking this is “What leg of the semi-finals is Arsenal playing tomorrow?”
Solution: Introduce a number of attributes which specify format. They are as follows:
An xpath answer to the Arsenal question would be:
tournament/tournament-division/tournament-stage[tournament-stage-metadata/@stage-number=2]/tournament-round[tournament-round-metadata/@round-number=3]/sports-event[event-metadata/@series-index=3][@event-number=2]
Note: New element tournament-round-metadata requires deprecating all attributes of tournament-round.
Another question: Which Euro 2008 group is Portugal a member of?
Answer: tournament/tournament-division/tournament-stage[tournament-stage-metadata/@stage-number=1]/tournament-stage[tournament-stage-metadata/@stage-number=1], i.e. Group A
or:
tournament/tournament-division/tournament-stage[tournament-stage-metadata/@stage-key='group']/tournament-stage[tournament-stage-metadata/@stage-key='group-a']
Both of these are illustrated in the examples.
Problem: How can the status of a playoff or tournament series be determined i.e. San Antonio Spurs lead their NBA semi-finals playoff series 3-1
Solution: Create new attributes “series-score” and “series-score-opposing” for statAttributes.
Examples:
team[team-metdata/name/@full='San Antonio
Spurs']/team-stats/@series-score=3
team[team-metdata/name/@full='San Antonio
Spurs']/team-stats/@series-score-opposing=1
Because this is core-level modelling of important sports events, I urge all members of the IPTC and the mailing list to apply stress to this model. Is it still too restrictive? Does this model work for all tournaments you can think of? Are the elements and attributes too literal?