JSON::Schema::Modern::Vocabulary::FormatAssertion(3pm)

NAME
JSON::Schema::Modern::Vocabulary::FormatAssertion - Implementation of the JSON Schema Format-Assertion vocabulary

VERSION
version 0.642

I use a linearly-increasing version numbering scheme. No meaning should be presumed or inferred from the version being less than 1.0.

DESCRIPTION
Implementation of the JSON Schema Draft 2020-12 "Format-Assertion" vocabulary, indicated in metaschemas with the URI "https://json-schema.org/draft/2020-12/vocab/format-assertion" and formally specified in <https://json-schema.org/draft/2020-12/json-schema-validation.html#section-7>.

Support is also provided for

•   the equivalent Draft 2019-09 keyword, indicated in metaschemas with the URI "https://json-schema.org/draft/2019-09/vocab/format" and formally specified in <https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-02#section-7>.

•   the equivalent Draft 7 keyword, as formally specified in <https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01#section-7>.

•   the equivalent Draft 6 keyword, as formally specified in <https://json-schema.org/draft-06/draft-wright-json-schema-validation-01#rfc.section.8>.

•   the equivalent Draft 4 keyword, as formally specified in <https://json-schema.org/draft-04/draft-fge-json-schema-validation-00#rfc.section.7>.

Assertion behaviour can be enabled by "/json-schema.org/draft/2020-12/json-schema-core.html#rfc.section.8.1.2/referencing this vocabulary explicitly" in https: in a metaschema's $vocabulary keyword, or by toggling the "validate_formats" in JSON::Schema::Modern option.

When the Format-Annotation vocabulary is specified (which is the default for the draft2020-12 metaschema) and combined with the "validate_formats" option set to true, unimplemented formats will silently validate, but implemented formats will validate completely. Note that some formats require optional module dependencies, and the lack of these modules will generate an error.

When this vocabulary (the Format-Assertion vocabulary) is specified, unimplemented formats will generate an error on use.

Overrides to particular format implementations, or additions of new ones, can be done through "format_validations" in JSON::Schema::Modern.

Format "uri-template" is not yet implemented. Use of this format will always result in an error.

SEE ALSO

•   "Format Validation" in JSON::Schema::Modern

•   JSON::Schema::Modern::Vocabulary::FormatAnnotation

GIVING THANKS
If you found this module to be useful, please show your appreciation by adding a +1 in MetaCPAN <https://metacpan.org/dist/JSON-Schema-Modern> and a star in GitHub <https://github.com/karenetheridge/JSON-Schema-Modern>.

SUPPORT
Bugs may be submitted through <https://github.com/karenetheridge/JSON-Schema-Modern/issues>.

I am also usually active on irc, as 'ether' at "irc.perl.org" and "irc.libera.chat".

You can also find me on the JSON Schema Slack server <https://json-schema.slack.com> and OpenAPI Slack server <https://open-api.slack.com>, which are also great resources for finding help.

AUTHOR
Karen Etheridge <ether@cpan.org>

COPYRIGHT AND LICENCE
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.

Some schema files have their own licence, in share/LICENSE.