in src/main/scala/pa/Parser.scala [160:193]
def parseMatchDay(s: String) = {
def parseTeam(team: NodeSeq): MatchDayTeam = MatchDayTeam(
team \@ "teamID",
team \> "teamName",
(team \>> "score") map (_.toInt),
(team \>> "htScore") map (_.toInt),
(team \>> "aggregateScore") map (_.toInt),
team \> "scorers"
)
XML.loadString(s) \ "match" map { aMatch =>
MatchDay(
aMatch \@ "matchID",
Date(aMatch \@ "date", aMatch \@ "koTime"),
parseCompetition(aMatch \ "competition"),
parseStage(aMatch \ "stage"),
parseRound(aMatch \ "round"),
aMatch \> "leg",
aMatch \>> "liveMatch",
aMatch \>> "result",
aMatch \>> "previewAvailable",
aMatch \>> "reportAvailable",
aMatch \>> "lineupsAvailable",
aMatch \> "matchStatus",
aMatch \> "attendance",
parseTeam(aMatch \ "homeTeam"),
parseTeam(aMatch \ "awayTeam"),
parseReferee(aMatch \ "referee"),
parseVenue(aMatch \ "venue"),
aMatch \>> "comments"
)
}
}