Table of Contents

Class StatementValidator

Namespace
Xapi.Validation
Assembly
Xapi.Core.dll

Checks models against the rules an LRS must enforce (IEEE 9274.1.1, 4.2) for a given xAPI version, and returns every problem found.

public static class StatementValidator
Inheritance
StatementValidator
Inherited Members

Remarks

Rules that the model types already enforce (one identifier per Agent, required properties, IRI, UUID, timestamp and duration syntax, language map keys) are not repeated here; XapiJson reports them when reading JSON. This class covers the rest: string formats (mbox, mbox_sha1sum, sha2, contentType, context.language, version) and rules that involve more than one property.

Error paths are JSON paths of the equivalent JSON document.

Methods

Validate(Statement, XapiVersion)

Validates one Statement.

public static IReadOnlyList<XapiError> Validate(Statement statement, XapiVersion version)

Parameters

statement Statement

The Statement.

version XapiVersion

The xAPI version whose rules apply.

Returns

IReadOnlyList<XapiError>

Every error found; empty when the Statement is valid.

ValidateActivity(Activity, XapiVersion)

Validates an Activity on its own, including its definition's interaction rules.

public static IReadOnlyList<XapiError> ValidateActivity(Activity activity, XapiVersion version)

Parameters

activity Activity

The Activity.

version XapiVersion

The xAPI version whose rules apply.

Returns

IReadOnlyList<XapiError>

Every error found.

ValidateActor(Actor, XapiVersion)

Validates an Agent or Group on its own, for example an agent query parameter.

public static IReadOnlyList<XapiError> ValidateActor(Actor actor, XapiVersion version)

Parameters

actor Actor

The Actor.

version XapiVersion

The xAPI version whose rules apply.

Returns

IReadOnlyList<XapiError>

Every error found.

ValidateBatch(IReadOnlyList<Statement>, XapiVersion)

Validates a batch of Statements, including that no two Statements share an id (4.1.6.1).

public static IReadOnlyList<XapiError> ValidateBatch(IReadOnlyList<Statement> statements, XapiVersion version)

Parameters

statements IReadOnlyList<Statement>

The Statements.

version XapiVersion

The xAPI version whose rules apply.

Returns

IReadOnlyList<XapiError>

Every error found; paths start with the index, for example $[2].actor.

ValidatePerson(Person, XapiVersion)

Validates a Person object (identifier formats).

public static IReadOnlyList<XapiError> ValidatePerson(Person person, XapiVersion version)

Parameters

person Person

The Person.

version XapiVersion

The xAPI version whose rules apply.

Returns

IReadOnlyList<XapiError>

Every error found.