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
statementStatementThe Statement.
versionXapiVersionThe 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
activityActivityThe Activity.
versionXapiVersionThe 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
actorActorThe Actor.
versionXapiVersionThe 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
statementsIReadOnlyList<Statement>The Statements.
versionXapiVersionThe 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
personPersonThe Person.
versionXapiVersionThe xAPI version whose rules apply.
Returns
- IReadOnlyList<XapiError>
Every error found.