#' Return the fields for a given VIS data type
#'
#' @references \url{https://www.fivb.org/VisSDK/VisWebService/}
#' @param type string: the data type, currently one of "Volleyball Tournament", "Volleyball Tournament Ranking", "Volleyball Tournament Filter", "Volleyball Player", "Volleyball Match"
#'
#' @return A character vector of field names
#'
#' @examples
#' v_fields("Volleyball Tournament")
#'
#' @export
v_fields <- function(type) {
switch(type,
"Press Release Text" = c("No", "Version", "Accepted", "AdditionalInformation", "AstFormat", "Author", "Headline", "Introduction", "KeyStatistics", "Keywords", "Language", "LanguageEnglishName", "LanguageNativeName", "NoRelease", "PhotoTitle", "Quotes", "Status", "Text", "TextAst", "TwitterText", "TwitterUrl", "Category", "DateTime", "IsVideoLive", "NoMatch", "PublishOnBeach", "PublishOnDevelopment", "PublishOnFivb", "PublishOnHeadlines", "PublishOnHome", "PublishOnMedical", "PublishOnMsdp", "PublishOnPresident", "PublishOnRefereeingRules", "PublishOnTechnicalCoach", "PublishOnTournament", "PublishOnTwitter", "PublishOnVolley", "PublishOnWorldVolleyNews", "Source", "SourceCategory", "SpecialType", "TeamCode", "TournamentCode", "Url", "ValidFrom", "ValidTo", "VideoUri"),
"Press Release" = c("Category", "DateTime", "DeletedDT", "Languages", "LastChangeDT", "LastChangeUsername", "No", "NoMatch", "PublishOnBeach", "PublishOnDevelopment", "PublishOnENews", "PublishOnFivb", "PublishOnHeadlines", "PublishOnHome", "PublishOnMedical", "PublishOnPresident", "PublishOnRefereeingRules", "PublishOnTechnicalCoach", "PublishOnTournament", "PublishOnTwitter", "PublishOnVolley", "PublishOnVolleyballWorld", "PublishOnWorldVolleyNews", "Source", "SourceCategory", "SpecialType", "TeamCode", "TournamentCode", "Url", "Version"),
"Event" = c('AccreditationEndDate', 'AccreditationStartDate', 'Code', 'CountryCode', 'EndDate', 'ExpensesCurrencyCode', 'HasBeachTournament', 'HasMenTournament', 'HasSnowTournament', 'HasVolleyTournament', 'HasWomenTournament', 'IsVisManaged', 'Location', 'Name', 'No', 'NoLogoImage', 'NoParentEvent', 'OrganizerCode', 'OrganizerType', 'StartDate', 'Status', 'Type', 'Version', 'InfoFederation', 'InfoFormat', 'InfoHotels', 'InfoLocation', 'InfoMedia', 'InfoOrganizer', 'InfoPresentation', 'InfoSchedule', 'InfoUseful', 'Checklist', 'Content','AuxiliaryPersons','Logos'),
"Beach Tournament Ranking" = c('EarnedPointsTeam', 'EarningsTotalTeam', 'Position', 'Rank', 'TeamFederationCode', 'TeamName'),
"Beach Round Ranking" = c('MatchesLost', 'MatchesWon', 'MatchPoints', 'Position', 'Rank', 'TeamFederationCode', 'TeamName'),
"Beach Team" = c('ConfederationCode', 'CountryCode', 'EarnedPointsPlayer', 'EarnedPointsPlayerConfederation', 'EarnedPointsTeam', 'EarnedPointsTeamConfederation', 'EarningsBonusPlayer', 'EarningsBonusTeam', 'EarningsPlayer', 'EarningsTeam', 'EarningsTotalPlayer', 'EarningsTotalTeam', 'EntryPoints', 'EntryPoints1', 'EntryPoints2', 'FederationCode', 'FederationRankingPoints', 'FederationRankingPoints1', 'FederationRankingPoints2', 'IsInConfederationQuota', 'IsInFederationQuota', 'IsInMainDraw', 'IsInQualification', 'IsLockedInMainDraw', 'MainDrawSeed', 'MainDrawSeed1', 'MainDrawSeed2', 'Name', 'NbParticipationsInMajorTournaments', 'NbRank1InMajorTournaments', 'NbRank2InMajorTournaments', 'NbRank3InMajorTournaments', 'No', 'NoBiographyText', 'NoPlayer1', 'NoPlayer2', 'NoShirt1', 'NoShirt2', 'NoTournament', 'Player1BeachPosition', 'Player1Birthdate', 'Player1BirthPlace', 'Player1FederationCode', 'Player1FirstName', 'Player1Height', 'Player1LastName', 'Player1TeamName', 'Player1Weight', 'Player2BeachPosition', 'Player2Birthdate', 'Player2BirthPlace', 'Player2FederationCode', 'Player2FirstName', 'Player2Height', 'Player2LastName', 'Player2TeamName', 'Player2Weight', 'PositionInDispatch', 'PositionInEntry', 'PositionInMainDraw', 'PositionInQualification', 'PositionInQuota', 'PositionInReserve', 'PreviousEarningsInMajorTournaments', 'QualificationPoints', 'QualificationPoints1', 'QualificationPoints2', 'Rank', 'SeedTechnicalPoints', 'SeedTechnicalPoints1', 'SeedTechnicalPoints2', 'Status', 'TechnicalPoints', 'TechnicalPoints1', 'TechnicalPoints2', 'TournamentCode', 'TournamentEndDateMainDraw', 'TournamentName', 'TournamentSeason', 'TournamentSeed', 'TournamentStatus', 'TournamentTitle', 'TournamentType', 'Type', 'WorldTourRanking', 'Version'),
"Beach Round" = c('No', 'Version', 'Bracket', 'Code', 'EndDate', 'Name', 'NbViewRanking', 'Order', 'NoTournament', 'Phase', 'RankingInformation', 'RankingMethod', 'RankMethod', 'StartDate'),
"Beach Match" = c('AcquisitionMethod', 'AreCourtAndTimePublished', 'BeginDateTimeUtc', 'City', 'Court', 'DurationSet1', 'DurationSet2', 'DurationSet3', 'DurationSet4', 'DurationSet5', 'EndDateTimeUtc', 'FastestServeTeamAPlayer1', 'FastestServeTeamAPlayer2', 'FastestServeTeamBPlayer1', 'FastestServeTeamBPlayer2', 'Format', 'Humidity', 'LiveScoreSource', 'LiveStreamUri', 'LocalDate', 'LocalTime', 'LocalTimeOffset', 'LoserRank', 'LoserRoundRank', 'MatchPointsA', 'MatchPointsB', 'MatchResultText', 'NbLiveScoreUpload', 'NbSpectators', 'No', 'NoDocumentReport', 'NoEvent', 'NoInTournament', 'NoInTournamentForImages', 'NoPlayerA1', 'NoPlayerA2', 'NoPlayerB1', 'NoPlayerB2', 'NoReferee1', 'NoReferee2', 'NoRefereeChallenge', 'NoRound', 'NoTeamA', 'NoTeamB', 'NoTournament', 'Personnel', 'PointsTeamASet1', 'PointsTeamASet2', 'PointsTeamASet3', 'PointsTeamASet4', 'PointsTeamASet5', 'PointsTeamBSet1', 'PointsTeamBSet2', 'PointsTeamBSet3', 'PointsTeamBSet4', 'PointsTeamBSet5', 'Referee1FederationCode', 'Referee1Name', 'Referee2FederationCode', 'Referee2Name', 'ResultType', 'ResultTypeText', 'RoundBracket', 'RoundCode', 'RoundName', 'RoundPhase', 'SetsResultsText', 'Status', 'TeamAFederationCode', 'TeamAName', 'TeamAPositionInMainDraw', 'TeamAPositionInQualification', 'TeamAText', 'TeamAType', 'TeamBFederationCode', 'TeamBName', 'TeamBPositionInMainDraw', 'TeamBPositionInQualification', 'TeamBText', 'TeamBType', 'Temperature', 'TimeZone', 'TournamentCode', 'TournamentGender', 'TournamentName', 'TournamentTitle', 'TournamentType', 'UtcDate', 'UtcTime', 'Venue', 'Version', 'WinnerRank', 'WinnerRoundRank'),
"Beach World Tour Ranking" = c('EarnedPointsPlayer', 'EarnedPointsTeam', 'EarningsBonusPlayer', 'EarningsBonusTeam', 'EarningsPlayer', 'EarningsTeam', 'EarningsTotalPlayer', 'EarningsTotalTeam', 'HasTournamentsRemoved', 'NbParticipations', 'NoPlayer1', 'NoPlayer2', 'Position', 'Rank', 'TeamFederationCode', 'TeamName'),
"Beach Olympic Selection Ranking" = c('Position', 'GamesYear', 'NoPlayer1', 'NoPlayer2', 'TeamName', 'TeamCountryCode', 'NbParticipations', 'SelectionRank', 'Points', 'Status'),
"Beach Tournament" = c('Actions', 'Code', 'CountryCode', 'CountryName', 'Deadline', 'DefaultLocalTimeOffset', 'DefaultMatchFormat', 'DefaultTimeZone', 'DispatchMethod', 'DispatchStatus', 'EarningsCurrencyCode', 'EndDateFederationQuota', 'EndDateMainDraw', 'EndDateQualification', 'EntryPointsBaseDate', 'EntryPointsDayOffset', 'EntryPointsTemplateNo', 'EventAuxiliaryPersons', 'EventLogos', 'FederationCode', 'Gender', 'IsVisManaged', 'Logos', 'MatchPointsMethod', 'MaxRegisterFederation', 'MaxRegisterHost', 'MaxReserveTeams', 'MaxTeamsDispatchFederation', 'MaxTeamsDispatchHost', 'MaxTeamsFederation', 'MaxTeamsHost', 'MaxTeamsMainDrawFederation', 'MaxTeamsMainDrawHost', 'MinConfederationTeams', 'MinTeamsDispatchHost', 'Name', 'NbTeamsFromQualification', 'NbTeamsMainDraw', 'NbTeamsQualification', 'NbUploads', 'NbWildCards', 'No', 'NoEvent', 'NoTemplateEarnedPoints', 'NoTemplatePrizeMoney', 'OrganizerCode', 'OrganizerType', 'Parameters', 'PreliminaryInquiryMainDraw', 'PreliminaryInquiryQualification', 'Season', 'SeedPointsBaseDate', 'SeedPointsDayOffset', 'SeedPointsTemplateNo', 'StartDate', 'StartDateFederationQuota', 'StartDateMainDraw', 'StartDateQualification', 'Status', 'TechnicalEntryPointsTemplateNo', 'TechnicalSeedPointsTemplateNo', 'Title', 'Type', 'Version', 'WebSite'),
"Referee" = c("No", "Gender", "FirstName", "LastName", "Birthdate", "FederationCode"),
"Volleyball Tournament" = c("Actions", "ArticleBaseUrl", "BuyTicketsUrl", "City", "Code", "ContainsLiveComments", "ContainsLiveScores", "ContainsMatches", "ContainsMatchResults", "ContainsNews", "ContainsPictures", "ContainsPlayByPlay", "ContainsPlayers", "ContainsRanking", "ContainsStatistics", "ContainsTeams", "ContainsVideos", "ContainsVideoTracking", "CountryCode", "DeadlineO2", "DeadlineO2A", "DeadlineO2bis", "DefaultMatchFormat", "DefaultPlayersRanking", "DeletedDT", "EndDate", "EventLogos", "Gender", "IsFreeEntrance", "IsVisManaged", "LastChangeDT", "LastChangeUser", "LastChangeUsername", "Logos", "MaxNbPlayersO2", "MaxNbPlayersO2A", "MaxNbPlayersO2bis", "MaxNbTeamOfficialsOnBench", "MaxNbTeams", "Name", "No", "NoArticlePresentation", "NoEvent", "NoImageLogo", "NoImageOrganizerLogo", "NoImagePublicity", "OrganizerCode", "OrganizerType", "PlayerDisplayMethod", "PoolName", "PublishOnMsdp", "RoundCode", "Season", "ShortName", "ShortNameOrName", "StartDate", "Status", "TeamType", "TournamentLogos", "Type", "Version", "WebSite"),
"Volleyball Tournament Ranking" = c("DeletedDT", "LastChangeDT", "LastChangeUser", "LastChangeUsername", "No", "NoTeam", "NoTournament", "Position", "Rank", "RankText", "RankTextWithRepeat", "TeamCode", "TeamName", "TeamNameOrCodeOrSource", "TeamSource", "Version"),
"Volleyball Tournament Filter" = c("CountryCode", "FirstDate", "Genders", "IsVisManaged", "LastDate", "NoEvent", "Numbers", "PublishOnMsdp", "Seasons", "Statuses"), ## https://www.fivb.org/VisSDK/VisWebService/#VolleyTournamentFilter.html
"Volleyball Player" = c("Block", "ClubFederationCode", "ClubName", "DeletedDT", "Height", "IsCaptain", "IsLibero", "IsPreselected", "IsSelected", "LastChangeDT", "LastChangeUser", "LastChangeUsername", "NbSelOG", "NbSelOther", "NbSelWC", "No", "NoEvent", "NoPhoto", "NoPlayer", "NoShirt", "NoTeam", "NoTournament", "Spike", "Version", "Weight"),
"Volleyball Match" = c("AcquisitionMethod", "AssistantScorerCountryCode", "AssistantScorerFirstName", "AssistantScorerLastName", "BeginDateTimeUtc", "BuyTicketsUrl", "City", "CountryCode", "CountryName", "DateLocal", "DateTimeLocal", "DateTimeUtc", "DeletedDT", "Difficulty", "DifficultyRemarks", "DurationSet1", "DurationSet2", "DurationSet3", "DurationSet4", "DurationSet5", "DurationSet6", "DurationSet7", "DurationTotal", "EndDateTimeUtc", "Format", "FullDuration", "Hall", "HasLiveData", "IsFreeEntrance", "LastChangeDT", "LastChangeUser", "LastChangeUsername", "LineJudge1CountryCode", "LineJudge1FirstName", "LineJudge1LastName", "LineJudge2CountryCode", "LineJudge2FirstName", "LineJudge2LastName", "LineJudge3CountryCode", "LineJudge3FirstName", "LineJudge3LastName", "LineJudge4CountryCode", "LineJudge4FirstName", "LineJudge4LastName", "LiveScoreFromScoresheet", "LiveStreamUri", "LoserRank", "MatchPointsA", "MatchPointsB", "MatchResultText", "NbSets", "NbSpectators", "No", "NoDocumentP2", "NoDocumentScoresheet", "NoInjuriesForTeamA", "NoInjuriesForTeamB", "NoInTournament", "NoPool", "NoPoolRound", "NoReferee1", "NoReferee2", "NoRefereeChallenge", "NoRefereeDelegate", "NoRefereeReservce", "NoTeamA", "NoTeamB", "NoTournament", "PointsTeamASet1", "PointsTeamASet2", "PointsTeamASet3", "PointsTeamASet4", "PointsTeamASet5", "PointsTeamASet6", "PointsTeamASet7", "PointsTeamBSet1", "PointsTeamBSet2", "PointsTeamBSet3", "PointsTeamBSet4", "PointsTeamBSet5", "PointsTeamBSet6", "PointsTeamBSet7", "Referee1FederationCode", "Referee1Name", "Referee2FederationCode", "Referee2Name", "ResultType", "ResultTypeText", "ScheduleInfo", "ScorerCountryCode", "ScorerFirstName", "ScorerLastName", "SetsResultsText", "Status", "StatusText", "TeamACalculatedCode", "TeamACalculatedName", "TeamACode", "TeamALiberoUniformColor", "TeamAName", "TeamAShirtColor", "TeamAText", "TeamBCalculatedCode", "TeamBCalculatedName", "TeamBCode", "TeamBLiberoUniformColor", "TeamBName", "TeamBShirtColor", "TeamBText", "TimeLocal", "Version", "WinnerRank"), ## https://www.fivb.org/VisSDK/VisWebService/VolleyMatch.html
stop("unexpected fields type: ", type)
)
}
## internal helper function, retrieve the fields from the web page
## e.g.
## v_get_fields("https://www.fivb.org/VisSDK/VisWebService/VolleyTournamentRankingEntry.html")
v_get_fields <- function(url, selector) {
this <- rvest::html_table(xml2::read_html(url))
return(this)
if (is.list(this) && !is.data.frame(this)) {
idx <- vapply(this, function(z) is.data.frame(z) && all(c("name", "type", "description") %in% tolower(colnames(z))), FUN.VALUE = TRUE)
this <- if (sum(idx) == 1) this[[which(idx)]] else NULL
}
if (!is.null(this) && is.data.frame(this)) this$Name else NULL
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.