- COPYRIGHT AND LICENCE
JSON::Schema::Modern::Error - Contains a single error from a JSON Schema evaluation
use JSON::Schema::Modern; my $js = JSON::Schema::Modern->new; my $result = $js->evaluate($data, $schema); my @errors = $result->errors; my $message = $errors->error; my $instance_location = $errors->instance_location; my $errors_encoded = encode_json(\@errors);
An instance of this class holds one error from evaluating a JSON Schema with JSON::Schema::Modern.
The keyword that produced the error; might be
The path in the instance where the error occurred; encoded as per the JSON Pointer specification (RFC 6901).
The schema path taken during evaluation to arrive at the error; encoded as per the JSON Pointer specification (RFC 6901).
The canonical URI or URI reference of the location in the schema where the error occurred; not defined, if there is no base URI for the schema and no
$ref was followed. Note that this is not a fragmentless URI in most cases, as the indicated error will occur at a path below the position where the most recent identifier had been declared in the schema. Further, if the schema never declared an absolute base URI (containing a scheme), this URI won't be absolute either.
The actual error string.
Returns a data structure suitable for serialization. Corresponds to one output unit as specified in https://json-schema.org/draft/2019-09/json-schema-core.html#rfc.section.10.4.2 and https://json-schema.org/draft/2019-09/output/schema, except that
keywordLocation are json pointers, not URI fragments. (See the
strict_basic "output_format" in JSON::Schema::Modern if the distinction is important to you.)
Bugs may be submitted through https://github.com/karenetheridge/JSON-Schema-Modern/issues.
I am also usually active on irc, as 'ether' at
Karen Etheridge <firstname.lastname@example.org>
This software is copyright (c) 2020 by Karen Etheridge.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.