Iof.DataStandard.Parser 1.4.1

dotnet add package Iof.DataStandard.Parser --version 1.4.1                
NuGet\Install-Package Iof.DataStandard.Parser -Version 1.4.1                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Iof.DataStandard.Parser" Version="1.4.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Iof.DataStandard.Parser --version 1.4.1                
#r "nuget: Iof.DataStandard.Parser, 1.4.1"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Iof.DataStandard.Parser as a Cake Addin
#addin nuget:?package=Iof.DataStandard.Parser&version=1.4.1

// Install Iof.DataStandard.Parser as a Cake Tool
#tool nuget:?package=Iof.DataStandard.Parser&version=1.4.1                

Iof.DataStandard.Parser

Description

Iof.DataStandard.Parser is a NuGet package designed to parse XML streams following the International Orienteering Federation's Data Standard. The package supports both version 2.0.3 and 3 of the IOF Data Standard. Furthermore, it provides support for multiple orienteering timekeeping systems, including those that use EMIT and SportIdent.

Upon parsing, this package returns an OrienteeringResult object which encapsulates detailed information about the orienteering event, classes, and individual results.

Installation

To install the Iof.DataStandard.Parser NuGet package, use the following command:

Install-Package Iof.DataStandard.Parser

Usage

Here's a basic usage example:

using Iof.DataStandard.Parser;
using System.IO;

Stream xmlStream = ...; // Obtain your XML stream from your data source.

try
{
    OrienteeringResult result = xmlStream.ParseFromIofXml();
    // Process the result as needed.
}
catch(InvalidFileVersionException ex)
{
    Console.WriteLine(ex.Message);
}

Return Structure

The main return object of the parsing function is OrienteeringResult which contains details about the event, class results, and person results. Here's a breakdown of its structure:

OrienteeringResult

  • EventId: Identifier of the event.
  • EventName: Name of the event.
  • ClassResults: List containing results for each class.

ClassResult

  • ClassId: Identifier of the class.
  • ClassName: Name of the class.
  • CourseId: Identifier of the course.
  • CourseName: Name of the course.
  • CourseLength: Length of the course.
  • ControlsCount: Number of controls on the course.
  • PersonResults: List containing results for each person in the class.

PersonResult

  • PersonFamilyName: Last name of the person.
  • PersonGivenName: First name of the person.
  • ClubName: Name of the club the person belongs to.
  • StartTime: Start time of the person's race.
  • Time: Total time taken by the person.
  • Difference: Time difference compared to the leader.
  • Status: Status of the person's result (e.g., Finished, Disqualified).
  • Position: Ranking position.
  • ControlCard: Control card details.
  • SplitTimes: List containing split times for each control.

Features

  • Robust XML stream parsing following the IOF Data Standard.
  • Support for multiple versions of the IOF Data Standard.
  • Support for most orienteering timekeeping systems.
  • Detailed return structure capturing comprehensive results data.

Exceptions

  • InvalidFileVersionException: Thrown when the file being parsed is not a valid IOF Data Standard format.

Contributing

If you find any issues or would like to contribute to the development of this package, please open an issue or submit a pull request on the GitHub repository.

License

This project is licensed under the MIT License. See the LICENSE file for more information.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net8.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.4.1 239 5/15/2024
1.4.0 83 5/15/2024
1.3.1 254 2/5/2024
1.3.0 106 2/5/2024
1.2.3 137 2/4/2024
1.2.2 113 2/4/2024
1.2.1 117 2/4/2024
1.2.0 116 2/4/2024
1.1.2 121 2/4/2024
1.1.1 245 1/6/2024
1.0.1 331 11/27/2023
1.0.0 166 11/27/2023
0.0.4-alpha 190 10/17/2023 0.0.4-alpha is deprecated because it has critical bugs.
0.0.2 199 10/16/2023 0.0.2 is deprecated because it has critical bugs.