Regatta Markup Language

Regatta Markup Language (RML) is a description of a file format for sharing rowing regatta information.  RML is intended to capture the information needed to manage a regatta along its full lifecycle, from a calendar entry through race day. To do this, RML captures things such as, events, races, crew entries, organizations, athletes, results, race schedules, contacts, and payments.

RML leverages the power of XML and its supporting tools. Some features of XML that make it well-suited for regatta data interchange are:

XML is also heavily used as a format for document storage and processing, both online and offline, and offers several benefits:

  • its robust, logically-verifiable format is based on international standards;
  • the hierarchical structure is suitable for most (but not all) types of documents;
  • it manifests as plain text files, unencumbered by licenses or restrictions;
  • it is platform-independent, thus relatively immune to changes in technology;
  • it and its predecessor, SGML, have been in use since 1986, so there is extensive experience and software available.

Here is a snippet from an RML file expressed using XML:

<?xml version="1.0" encoding="UTF-8"?>

<regatta abbreviatedName="Head of the Cuyahoga" duration="1" regattaHomePage="" lifeCycleState="entered"
locOrganization="Cleveland Rowing Foundation" entryWindowOpenDate="2005-08-03" entryCloseDate="2005-09-12"
entriesLockedDate="2005-09-12" entryPacketUrl="">
<event gender="men" boatSize="4" sweep="true" coxed="true" handicapped="true" format="head" finalRaceDate="2005-09-17"
finalRaceTime="08:15:00" duration="00:10:00" handicapAlgorithm="USRA" handicapMultiplier="2.25" cost="50.0"
reqBirthday="true" reqCoxswain="true" eventNumber="1" eventTitle="Mens Masters 4+" status="entered"
<crew boat="83" avgAge="41.0" handicap="00:00:09.500" organization="//@organization.14" seed="B" subTeamId="R. Briggs"
submissionDate="2005-09-08" lastModifiedDate="2005-09-08" contact="//@organization.14/@contact.0">
<member athlete="//@organization.14/@athlete.35"/>
<member athlete="//@organization.14/@athlete.31" seatRC="1"/>
<member athlete="//@organization.14/@athlete.13" seatRC="2"/>
<member athlete="//@organization.14/@athlete.11" seatRC="3"/>
<member athlete="//@organization.14/@athlete.8" seatRC="4"/>
<crew boat="71" avgAge="28.0" handicap="00:00:00" organization="//@organization.16" seed="A" subTeamId="M. Foley"
submissionDate="2005-09-07" lastModifiedDate="2005-09-07" contact="//@organization.16/@contact.0">
<member athlete="//@organization.16/@athlete.6"/>
<member athlete="//@organization.16/@athlete.0" seatRC="1"/>
<member athlete="//@organization.16/@athlete.2" seatRC="2"/>
<member athlete="//@organization.16/@athlete.10" seatRC="3"/>
<member athlete="//@organization.16/@athlete.1" seatRC="4"/>
.... Events, Races, Contacts, Organizations, Athletes, Race Schedules, Payments, Invoices, etc ....

RML is intended to capture the information needed to manage a regatta along its full lifecycle. Many entities are involved n putting on a first rate regatta. From the first posting of the regatta in the USRowing or other calendar, all the way through posting the final results.


 RW Interface to RML Mapping


 Regatta information progresses through a series of steps:

Regatta Info Lifecycle 

Today, there are no data standards in the rowing world to smoothly pass information from one step to the next. The quantity of data increases in each successive step and steps 2, 3, and 4 have significant amounts of complex data to move.