nfx-serialization 0.3.0
Cross-platform C++ JSON serialization library with extensible trait capabilities
Loading...
Searching...
No Matches
Vocabulary.h File Reference

JSON Schema vocabulary constants for validation keywords. More...

#include <string_view>
Include dependency graph for Vocabulary.h:

Go to the source code of this file.

Variables

constexpr std::string_view nfx::serialization::json::vocabulary::SCHEMA_DRAFT_2020_12 { "https://json-schema.org/draft/2020-12/schema" }
 JSON Schema Draft 2020-12 URI.
constexpr std::string_view nfx::serialization::json::vocabulary::SCHEMA_DRAFT_2019_09 { "https://json-schema.org/draft/2019-09/schema" }
 JSON Schema Draft 2019-09 URI.
constexpr std::string_view nfx::serialization::json::vocabulary::SCHEMA_DRAFT_07 { "http://json-schema.org/draft-07/schema#" }
 JSON Schema Draft-07 URI.
constexpr std::string_view nfx::serialization::json::vocabulary::SCHEMA_DRAFT_06 { "http://json-schema.org/draft-06/schema#" }
 JSON Schema Draft-06 URI.
constexpr std::string_view nfx::serialization::json::vocabulary::SCHEMA_DRAFT_04 { "http://json-schema.org/draft-04/schema#" }
 JSON Schema Draft-04 URI.
constexpr std::string_view nfx::serialization::json::vocabulary::CORE_ID { "$id" }
 This keyword declares an identifier for the schema resource.
constexpr std::string_view nfx::serialization::json::vocabulary::CORE_SCHEMA { "$schema" }
 This keyword is both used as a JSON Schema dialect identifier and as a reference to a JSON Schema which describes the set of valid schemas written for this particular dialect.
constexpr std::string_view nfx::serialization::json::vocabulary::CORE_REF { "$ref" }
 This keyword is used to reference a statically identified schema.
constexpr std::string_view nfx::serialization::json::vocabulary::CORE_COMMENT { "$comment" }
 This keyword reserves a location for comments from schema authors to readers or maintainers of the schema.
constexpr std::string_view nfx::serialization::json::vocabulary::CORE_DEFS { "$defs" }
 This keyword reserves a location for schema authors to inline reusable JSON Schemas into a more general schema.
constexpr std::string_view nfx::serialization::json::vocabulary::CORE_ANCHOR { "$anchor" }
 This keyword is used to create plain name fragments that are not tied to any particular structural location for referencing purposes, which are taken into consideration for static referencing.
constexpr std::string_view nfx::serialization::json::vocabulary::CORE_DYNAMIC_ANCHOR { "$dynamicAnchor" }
 This keyword is used to create plain name fragments that are not tied to any particular structural location for referencing purposes, which are taken into consideration for dynamic referencing.
constexpr std::string_view nfx::serialization::json::vocabulary::CORE_DYNAMIC_REF { "$dynamicRef" }
 This keyword is used to reference an identified schema, deferring the full resolution until runtime, at which point it is resolved each time it is encountered while evaluating an instance.
constexpr std::string_view nfx::serialization::json::vocabulary::CORE_VOCABULARY { "$vocabulary" }
 This keyword is used in dialect meta-schemas to identify the required and optional vocabularies available for use in schemas described by that dialect.
constexpr std::string_view nfx::serialization::json::vocabulary::APPLICATOR_ALL_OF { "allOf" }
 An instance validates successfully against this keyword if it validates successfully against all schemas defined by this keyword’s value.
constexpr std::string_view nfx::serialization::json::vocabulary::APPLICATOR_ANY_OF { "anyOf" }
 An instance validates successfully against this keyword if it validates successfully against at least one schema defined by this keyword’s value.
constexpr std::string_view nfx::serialization::json::vocabulary::APPLICATOR_ONE_OF { "oneOf" }
 An instance validates successfully against this keyword if it validates successfully against exactly one schema defined by this keyword’s value.
constexpr std::string_view nfx::serialization::json::vocabulary::APPLICATOR_IF { "if" }
 This keyword declares a condition based on the validation result of the given schema.
constexpr std::string_view nfx::serialization::json::vocabulary::APPLICATOR_THEN { "then" }
 When if is present, and the instance successfully validates against its subschema, then validation succeeds if the instance also successfully validates against this keyword's subschema.
constexpr std::string_view nfx::serialization::json::vocabulary::APPLICATOR_ELSE { "else" }
 When if is present, and the instance fails to validate against its subschema, then validation succeeds if the instance successfully validates against this keyword's subschema.
constexpr std::string_view nfx::serialization::json::vocabulary::APPLICATOR_NOT { "not" }
 An instance is valid against this keyword if it fails to validate successfully against the schema defined by this keyword.
constexpr std::string_view nfx::serialization::json::vocabulary::APPLICATOR_PROPERTIES { "properties" }
 Validation succeeds if, for each name that appears in both the instance and as a name within this keyword's value, the child instance for that name successfully validates against the corresponding schema.
constexpr std::string_view nfx::serialization::json::vocabulary::APPLICATOR_ADDITIONAL_PROPERTIES { "additionalProperties" }
 Validation succeeds if the schema validates against each value not matched by other object applicators in this vocabulary.
constexpr std::string_view nfx::serialization::json::vocabulary::APPLICATOR_PATTERN_PROPERTIES { "patternProperties" }
 Validation succeeds if, for each instance name that matches any regular expressions that appear as a property name in this keyword's value, the child instance for that name successfully validates against each schema that corresponds to a matching regular expression.
constexpr std::string_view nfx::serialization::json::vocabulary::APPLICATOR_DEPENDENT_SCHEMAS { "dependentSchemas" }
 This keyword specifies subschemas that are evaluated if the instance is an object and contains a certain property.
constexpr std::string_view nfx::serialization::json::vocabulary::APPLICATOR_PROPERTY_NAMES { "propertyNames" }
 Validation succeeds if the schema validates against every property name in the instance.
constexpr std::string_view nfx::serialization::json::vocabulary::APPLICATOR_CONTAINS { "contains" }
 Validation succeeds if the instance contains an element that validates against this schema.
constexpr std::string_view nfx::serialization::json::vocabulary::APPLICATOR_ITEMS { "items" }
 Validation succeeds if each element of the instance not covered by prefixItems validates against this schema.
constexpr std::string_view nfx::serialization::json::vocabulary::APPLICATOR_PREFIX_ITEMS { "prefixItems" }
 Validation succeeds if each element of the instance validates against the schema at the same position, if any.
constexpr std::string_view nfx::serialization::json::vocabulary::FORMAT_DATETIME { "date-time" }
 A string instance is valid if it is a valid representation according to the "date-time" ABNF rule.
constexpr std::string_view nfx::serialization::json::vocabulary::FORMAT_DATE { "date" }
 A string instance is valid if it is a valid representation according to the "full-date" ABNF rule.
constexpr std::string_view nfx::serialization::json::vocabulary::FORMAT_TIME { "time" }
 A string instance is valid if it is a valid representation according to the "full-time" ABNF rule.
constexpr std::string_view nfx::serialization::json::vocabulary::FORMAT_DURATION { "duration" }
 A string instance is valid if it is a valid representation according to the "duration" ABNF rule.
constexpr std::string_view nfx::serialization::json::vocabulary::FORMAT_EMAIL { "email" }
 A string instance is valid if it is a valid Internet email address as defined by RFC 5321, section 4.1.2.
constexpr std::string_view nfx::serialization::json::vocabulary::FORMAT_IDN_EMAIL { "idn-email" }
 A string instance is valid if it is a valid internationalized email address as defined by RFC 6531, section 3.3.
constexpr std::string_view nfx::serialization::json::vocabulary::FORMAT_HOSTNAME { "hostname" }
 A string instance is valid if it is a valid representation for an Internet hostname as defined by RFC 1123, section 2.1.
constexpr std::string_view nfx::serialization::json::vocabulary::FORMAT_IDN_HOSTNAME { "idn-hostname" }
 A string instance is valid if it is a valid internationalized hostname as defined by RFC 5890, section 2.3.2.3.
constexpr std::string_view nfx::serialization::json::vocabulary::FORMAT_IPV4 { "ipv4" }
 A string instance is valid if it is a valid IPv4 address according to the "dotted-quad" ABNF syntax as defined in RFC 2673, section 3.2.
constexpr std::string_view nfx::serialization::json::vocabulary::FORMAT_IPV6 { "ipv6" }
 A string instance is valid if it is a valid IPv6 address as defined in RFC 4291, section 2.2.
constexpr std::string_view nfx::serialization::json::vocabulary::FORMAT_URI { "uri" }
 A string instance is valid if it is a valid URI according to RFC 3986.
constexpr std::string_view nfx::serialization::json::vocabulary::FORMAT_URI_REFERENCE { "uri-reference" }
 A string instance is valid if it is a valid URI Reference (either a URI or a relative-reference) according to RFC 3986.
constexpr std::string_view nfx::serialization::json::vocabulary::FORMAT_IRI { "iri" }
 A string instance is valid if it is a valid IRI according to RFC 3987.
constexpr std::string_view nfx::serialization::json::vocabulary::FORMAT_IRI_REFERENCE { "iri-reference" }
 A string instance is valid if it is a valid IRI Reference (either an IRI or a relative-reference) according to RFC 3987.
constexpr std::string_view nfx::serialization::json::vocabulary::FORMAT_UUID { "uuid" }
 A string instance is valid if it is a valid string representation of a UUID according to RFC 4122.
constexpr std::string_view nfx::serialization::json::vocabulary::FORMAT_URI_TEMPLATE { "uri-template" }
 A string instance is valid if it is a valid URI Template (of any level) according to RFC 6570.
constexpr std::string_view nfx::serialization::json::vocabulary::FORMAT_JSON_POINTER { "json-pointer" }
 A string instance is valid if it is a valid JSON string representation of a JSON Pointer according to RFC 6901, section 5.
constexpr std::string_view nfx::serialization::json::vocabulary::FORMAT_RELATIVE_JSON_POINTER { "relative-json-pointer" }
 A string instance is valid if it is a valid Relative JSON Pointer.
constexpr std::string_view nfx::serialization::json::vocabulary::FORMAT_REGEX { "regex" }
 A regular expression which should be valid according to the ECMA-262 regular expression dialect.
constexpr std::string_view nfx::serialization::json::vocabulary::VALIDATION_TYPE { "type" }
 Validation succeeds if the type of the instance matches the type represented by the given type, or matches at least one of the given types.
constexpr std::string_view nfx::serialization::json::vocabulary::VALIDATION_ENUM { "enum" }
 Validation succeeds if the instance is equal to one of the elements in this keyword's array value.
constexpr std::string_view nfx::serialization::json::vocabulary::VALIDATION_CONST { "const" }
 Validation succeeds if the instance is equal to this keyword's value.
constexpr std::string_view nfx::serialization::json::vocabulary::VALIDATION_MAX_LENGTH { "maxLength" }
 String validation.
constexpr std::string_view nfx::serialization::json::vocabulary::VALIDATION_MIN_LENGTH { "minLength" }
 A string instance is valid against this keyword if its length is greater than, or equal to, the value of this keyword.
constexpr std::string_view nfx::serialization::json::vocabulary::VALIDATION_PATTERN { "pattern" }
 A string instance is considered valid if the regular expression matches the instance successfully.
constexpr std::string_view nfx::serialization::json::vocabulary::VALIDATION_MAXIMUM { "maximum" }
 Numeric validation.
constexpr std::string_view nfx::serialization::json::vocabulary::VALIDATION_MINIMUM { "minimum" }
 Validation succeeds if the numeric instance is greater than or equal to the given number.
constexpr std::string_view nfx::serialization::json::vocabulary::VALIDATION_EXCLUSIVE_MAXIMUM { "exclusiveMaximum" }
 Validation succeeds if the numeric instance is less than the given number.
constexpr std::string_view nfx::serialization::json::vocabulary::VALIDATION_EXCLUSIVE_MINIMUM { "exclusiveMinimum" }
 Validation succeeds if the numeric instance is greater than the given number.
constexpr std::string_view nfx::serialization::json::vocabulary::VALIDATION_MULTIPLE_OF { "multipleOf" }
 A numeric instance is valid only if division by this keyword's value results in an integer.
constexpr std::string_view nfx::serialization::json::vocabulary::VALIDATION_MAX_PROPERTIES { "maxProperties" }
 Object validation.
constexpr std::string_view nfx::serialization::json::vocabulary::VALIDATION_MIN_PROPERTIES { "minProperties" }
 An object instance is valid if its number of properties is greater than, or equal to, the value of this keyword.
constexpr std::string_view nfx::serialization::json::vocabulary::VALIDATION_REQUIRED { "required" }
 An object instance is valid against this keyword if every item in the array is the name of a property in the instance.
constexpr std::string_view nfx::serialization::json::vocabulary::VALIDATION_DEPENDENT_REQUIRED { "dependentRequired" }
 Validation succeeds if, for each name that appears in both the instance and as a name within this keyword's value, every item in the corresponding array is also the name of a property in the instance.
constexpr std::string_view nfx::serialization::json::vocabulary::VALIDATION_MAX_ITEMS { "maxItems" }
 Array validation.
constexpr std::string_view nfx::serialization::json::vocabulary::VALIDATION_MIN_ITEMS { "minItems" }
 An array instance is valid if its size is greater than, or equal to, the value of this keyword.
constexpr std::string_view nfx::serialization::json::vocabulary::VALIDATION_MAX_CONTAINS { "maxContains" }
 The number of times that the contains keyword (if set) successfully validates against the instance must be less than or equal to the given integer.
constexpr std::string_view nfx::serialization::json::vocabulary::VALIDATION_MIN_CONTAINS { "minContains" }
 The number of times that the contains keyword (if set) successfully validates against the instance must be greater than or equal to the given integer.
constexpr std::string_view nfx::serialization::json::vocabulary::VALIDATION_UNIQUE_ITEMS { "uniqueItems" }
 If this keyword is set to the boolean value true, the instance validates successfully if all of its elements are unique.
constexpr std::string_view nfx::serialization::json::vocabulary::METADATA_TITLE { "title" }
 A preferably short description about the purpose of the instance described by the schema.
constexpr std::string_view nfx::serialization::json::vocabulary::METADATA_DESCRIPTION { "description" }
 An explanation about the purpose of the instance described by the schema.
constexpr std::string_view nfx::serialization::json::vocabulary::METADATA_DEFAULT { "default" }
 This keyword can be used to supply a default JSON value associated with a particular schema.
constexpr std::string_view nfx::serialization::json::vocabulary::METADATA_DEPRECATED { "deprecated" }
 This keyword indicates that applications should refrain from using the declared property.
constexpr std::string_view nfx::serialization::json::vocabulary::METADATA_EXAMPLES { "examples" }
 This keyword is used to provide sample JSON values associated with a particular schema, for the purpose of illustrating usage.
constexpr std::string_view nfx::serialization::json::vocabulary::METADATA_READ_ONLY { "readOnly" }
 This keyword indicates that the value of the instance is managed exclusively by the owning authority, and attempts by an application to modify the value of this property are expected to be ignored or rejected by that owning authority.
constexpr std::string_view nfx::serialization::json::vocabulary::METADATA_WRITE_ONLY { "writeOnly" }
 This keyword indicates that the value is never present when the instance is retrieved from the owning authority.
constexpr std::string_view nfx::serialization::json::vocabulary::FORMAT_ANNOTATION { "format" }
 Define semantic information about a string instance.
constexpr std::string_view nfx::serialization::json::vocabulary::CONTENT_ENCODING { "contentEncoding" }
 The string instance should be interpreted as encoded binary data and decoded using the encoding named by this property.
constexpr std::string_view nfx::serialization::json::vocabulary::CONTENT_MEDIA_TYPE { "contentMediaType" }
 This keyword declares the media type of the string instance.
constexpr std::string_view nfx::serialization::json::vocabulary::CONTENT_SCHEMA { "contentSchema" }
 This keyword declares a schema which describes the structure of the string.
constexpr std::string_view nfx::serialization::json::vocabulary::UNEVALUATED_ITEMS { "unevaluatedItems" }
 Validates array elements that did not successfully validate against other standard array applicators.
constexpr std::string_view nfx::serialization::json::vocabulary::UNEVALUATED_PROPERTIES { "unevaluatedProperties" }
 Validates object properties that did not successfully validate against other standard object applicators.
constexpr std::string_view nfx::serialization::json::vocabulary::FORMAT_ASSERTION { "format" }
 Define and assert semantic information about a string instance.

Detailed Description

JSON Schema vocabulary constants for validation keywords.

Defines string constants for JSON Schema Draft 2020-12 keywords including core, applicator, validation, meta-data, format, and content vocabularies

See also
https://www.learnjsonschema.com/2020-12/

Definition in file Vocabulary.h.

Variable Documentation

◆ APPLICATOR_ADDITIONAL_PROPERTIES

std::string_view nfx::serialization::json::vocabulary::APPLICATOR_ADDITIONAL_PROPERTIES { "additionalProperties" }
inlineconstexpr

Validation succeeds if the schema validates against each value not matched by other object applicators in this vocabulary.

Definition at line 122 of file Vocabulary.h.

◆ APPLICATOR_ALL_OF

std::string_view nfx::serialization::json::vocabulary::APPLICATOR_ALL_OF { "allOf" }
inlineconstexpr

An instance validates successfully against this keyword if it validates successfully against all schemas defined by this keyword’s value.

Definition at line 98 of file Vocabulary.h.

◆ APPLICATOR_ANY_OF

std::string_view nfx::serialization::json::vocabulary::APPLICATOR_ANY_OF { "anyOf" }
inlineconstexpr

An instance validates successfully against this keyword if it validates successfully against at least one schema defined by this keyword’s value.

Definition at line 101 of file Vocabulary.h.

◆ APPLICATOR_CONTAINS

std::string_view nfx::serialization::json::vocabulary::APPLICATOR_CONTAINS { "contains" }
inlineconstexpr

Validation succeeds if the instance contains an element that validates against this schema.

Definition at line 134 of file Vocabulary.h.

◆ APPLICATOR_DEPENDENT_SCHEMAS

std::string_view nfx::serialization::json::vocabulary::APPLICATOR_DEPENDENT_SCHEMAS { "dependentSchemas" }
inlineconstexpr

This keyword specifies subschemas that are evaluated if the instance is an object and contains a certain property.

Definition at line 128 of file Vocabulary.h.

◆ APPLICATOR_ELSE

std::string_view nfx::serialization::json::vocabulary::APPLICATOR_ELSE { "else" }
inlineconstexpr

When if is present, and the instance fails to validate against its subschema, then validation succeeds if the instance successfully validates against this keyword's subschema.

Definition at line 113 of file Vocabulary.h.

◆ APPLICATOR_IF

std::string_view nfx::serialization::json::vocabulary::APPLICATOR_IF { "if" }
inlineconstexpr

This keyword declares a condition based on the validation result of the given schema.

Definition at line 107 of file Vocabulary.h.

◆ APPLICATOR_ITEMS

std::string_view nfx::serialization::json::vocabulary::APPLICATOR_ITEMS { "items" }
inlineconstexpr

Validation succeeds if each element of the instance not covered by prefixItems validates against this schema.

Definition at line 137 of file Vocabulary.h.

◆ APPLICATOR_NOT

std::string_view nfx::serialization::json::vocabulary::APPLICATOR_NOT { "not" }
inlineconstexpr

An instance is valid against this keyword if it fails to validate successfully against the schema defined by this keyword.

Definition at line 116 of file Vocabulary.h.

◆ APPLICATOR_ONE_OF

std::string_view nfx::serialization::json::vocabulary::APPLICATOR_ONE_OF { "oneOf" }
inlineconstexpr

An instance validates successfully against this keyword if it validates successfully against exactly one schema defined by this keyword’s value.

Definition at line 104 of file Vocabulary.h.

◆ APPLICATOR_PATTERN_PROPERTIES

std::string_view nfx::serialization::json::vocabulary::APPLICATOR_PATTERN_PROPERTIES { "patternProperties" }
inlineconstexpr

Validation succeeds if, for each instance name that matches any regular expressions that appear as a property name in this keyword's value, the child instance for that name successfully validates against each schema that corresponds to a matching regular expression.

Definition at line 125 of file Vocabulary.h.

◆ APPLICATOR_PREFIX_ITEMS

std::string_view nfx::serialization::json::vocabulary::APPLICATOR_PREFIX_ITEMS { "prefixItems" }
inlineconstexpr

Validation succeeds if each element of the instance validates against the schema at the same position, if any.

Definition at line 140 of file Vocabulary.h.

◆ APPLICATOR_PROPERTIES

std::string_view nfx::serialization::json::vocabulary::APPLICATOR_PROPERTIES { "properties" }
inlineconstexpr

Validation succeeds if, for each name that appears in both the instance and as a name within this keyword's value, the child instance for that name successfully validates against the corresponding schema.

Definition at line 119 of file Vocabulary.h.

◆ APPLICATOR_PROPERTY_NAMES

std::string_view nfx::serialization::json::vocabulary::APPLICATOR_PROPERTY_NAMES { "propertyNames" }
inlineconstexpr

Validation succeeds if the schema validates against every property name in the instance.

Definition at line 131 of file Vocabulary.h.

◆ APPLICATOR_THEN

std::string_view nfx::serialization::json::vocabulary::APPLICATOR_THEN { "then" }
inlineconstexpr

When if is present, and the instance successfully validates against its subschema, then validation succeeds if the instance also successfully validates against this keyword's subschema.

Definition at line 110 of file Vocabulary.h.

◆ CONTENT_ENCODING

std::string_view nfx::serialization::json::vocabulary::CONTENT_ENCODING { "contentEncoding" }
inlineconstexpr

The string instance should be interpreted as encoded binary data and decoded using the encoding named by this property.

Definition at line 356 of file Vocabulary.h.

◆ CONTENT_MEDIA_TYPE

std::string_view nfx::serialization::json::vocabulary::CONTENT_MEDIA_TYPE { "contentMediaType" }
inlineconstexpr

This keyword declares the media type of the string instance.

Definition at line 359 of file Vocabulary.h.

◆ CONTENT_SCHEMA

std::string_view nfx::serialization::json::vocabulary::CONTENT_SCHEMA { "contentSchema" }
inlineconstexpr

This keyword declares a schema which describes the structure of the string.

Definition at line 362 of file Vocabulary.h.

◆ CORE_ANCHOR

std::string_view nfx::serialization::json::vocabulary::CORE_ANCHOR { "$anchor" }
inlineconstexpr

This keyword is used to create plain name fragments that are not tied to any particular structural location for referencing purposes, which are taken into consideration for static referencing.

Definition at line 82 of file Vocabulary.h.

◆ CORE_COMMENT

std::string_view nfx::serialization::json::vocabulary::CORE_COMMENT { "$comment" }
inlineconstexpr

This keyword reserves a location for comments from schema authors to readers or maintainers of the schema.

Definition at line 76 of file Vocabulary.h.

◆ CORE_DEFS

std::string_view nfx::serialization::json::vocabulary::CORE_DEFS { "$defs" }
inlineconstexpr

This keyword reserves a location for schema authors to inline reusable JSON Schemas into a more general schema.

Definition at line 79 of file Vocabulary.h.

◆ CORE_DYNAMIC_ANCHOR

std::string_view nfx::serialization::json::vocabulary::CORE_DYNAMIC_ANCHOR { "$dynamicAnchor" }
inlineconstexpr

This keyword is used to create plain name fragments that are not tied to any particular structural location for referencing purposes, which are taken into consideration for dynamic referencing.

Definition at line 85 of file Vocabulary.h.

◆ CORE_DYNAMIC_REF

std::string_view nfx::serialization::json::vocabulary::CORE_DYNAMIC_REF { "$dynamicRef" }
inlineconstexpr

This keyword is used to reference an identified schema, deferring the full resolution until runtime, at which point it is resolved each time it is encountered while evaluating an instance.

Definition at line 88 of file Vocabulary.h.

◆ CORE_ID

std::string_view nfx::serialization::json::vocabulary::CORE_ID { "$id" }
inlineconstexpr

This keyword declares an identifier for the schema resource.

Definition at line 67 of file Vocabulary.h.

◆ CORE_REF

std::string_view nfx::serialization::json::vocabulary::CORE_REF { "$ref" }
inlineconstexpr

This keyword is used to reference a statically identified schema.

Definition at line 73 of file Vocabulary.h.

◆ CORE_SCHEMA

std::string_view nfx::serialization::json::vocabulary::CORE_SCHEMA { "$schema" }
inlineconstexpr

This keyword is both used as a JSON Schema dialect identifier and as a reference to a JSON Schema which describes the set of valid schemas written for this particular dialect.

Definition at line 70 of file Vocabulary.h.

◆ CORE_VOCABULARY

std::string_view nfx::serialization::json::vocabulary::CORE_VOCABULARY { "$vocabulary" }
inlineconstexpr

This keyword is used in dialect meta-schemas to identify the required and optional vocabularies available for use in schemas described by that dialect.

Definition at line 91 of file Vocabulary.h.

◆ FORMAT_ANNOTATION

std::string_view nfx::serialization::json::vocabulary::FORMAT_ANNOTATION { "format" }
inlineconstexpr

Define semantic information about a string instance.

Definition at line 349 of file Vocabulary.h.

◆ FORMAT_ASSERTION

std::string_view nfx::serialization::json::vocabulary::FORMAT_ASSERTION { "format" }
inlineconstexpr

Define and assert semantic information about a string instance.

Definition at line 379 of file Vocabulary.h.

◆ FORMAT_DATE

std::string_view nfx::serialization::json::vocabulary::FORMAT_DATE { "date" }
inlineconstexpr

A string instance is valid if it is a valid representation according to the "full-date" ABNF rule.

Definition at line 154 of file Vocabulary.h.

◆ FORMAT_DATETIME

std::string_view nfx::serialization::json::vocabulary::FORMAT_DATETIME { "date-time" }
inlineconstexpr

A string instance is valid if it is a valid representation according to the "date-time" ABNF rule.

Definition at line 151 of file Vocabulary.h.

◆ FORMAT_DURATION

std::string_view nfx::serialization::json::vocabulary::FORMAT_DURATION { "duration" }
inlineconstexpr

A string instance is valid if it is a valid representation according to the "duration" ABNF rule.

Definition at line 160 of file Vocabulary.h.

◆ FORMAT_EMAIL

std::string_view nfx::serialization::json::vocabulary::FORMAT_EMAIL { "email" }
inlineconstexpr

A string instance is valid if it is a valid Internet email address as defined by RFC 5321, section 4.1.2.

Definition at line 167 of file Vocabulary.h.

◆ FORMAT_HOSTNAME

std::string_view nfx::serialization::json::vocabulary::FORMAT_HOSTNAME { "hostname" }
inlineconstexpr

A string instance is valid if it is a valid representation for an Internet hostname as defined by RFC 1123, section 2.1.

Definition at line 177 of file Vocabulary.h.

◆ FORMAT_IDN_EMAIL

std::string_view nfx::serialization::json::vocabulary::FORMAT_IDN_EMAIL { "idn-email" }
inlineconstexpr

A string instance is valid if it is a valid internationalized email address as defined by RFC 6531, section 3.3.

Definition at line 170 of file Vocabulary.h.

◆ FORMAT_IDN_HOSTNAME

std::string_view nfx::serialization::json::vocabulary::FORMAT_IDN_HOSTNAME { "idn-hostname" }
inlineconstexpr

A string instance is valid if it is a valid internationalized hostname as defined by RFC 5890, section 2.3.2.3.

Definition at line 180 of file Vocabulary.h.

◆ FORMAT_IPV4

std::string_view nfx::serialization::json::vocabulary::FORMAT_IPV4 { "ipv4" }
inlineconstexpr

A string instance is valid if it is a valid IPv4 address according to the "dotted-quad" ABNF syntax as defined in RFC 2673, section 3.2.

Definition at line 187 of file Vocabulary.h.

◆ FORMAT_IPV6

std::string_view nfx::serialization::json::vocabulary::FORMAT_IPV6 { "ipv6" }
inlineconstexpr

A string instance is valid if it is a valid IPv6 address as defined in RFC 4291, section 2.2.

Definition at line 190 of file Vocabulary.h.

◆ FORMAT_IRI

std::string_view nfx::serialization::json::vocabulary::FORMAT_IRI { "iri" }
inlineconstexpr

A string instance is valid if it is a valid IRI according to RFC 3987.

Definition at line 203 of file Vocabulary.h.

◆ FORMAT_IRI_REFERENCE

std::string_view nfx::serialization::json::vocabulary::FORMAT_IRI_REFERENCE { "iri-reference" }
inlineconstexpr

A string instance is valid if it is a valid IRI Reference (either an IRI or a relative-reference) according to RFC 3987.

Definition at line 206 of file Vocabulary.h.

◆ FORMAT_JSON_POINTER

std::string_view nfx::serialization::json::vocabulary::FORMAT_JSON_POINTER { "json-pointer" }
inlineconstexpr

A string instance is valid if it is a valid JSON string representation of a JSON Pointer according to RFC 6901, section 5.

Definition at line 223 of file Vocabulary.h.

◆ FORMAT_REGEX

std::string_view nfx::serialization::json::vocabulary::FORMAT_REGEX { "regex" }
inlineconstexpr

A regular expression which should be valid according to the ECMA-262 regular expression dialect.

Definition at line 233 of file Vocabulary.h.

◆ FORMAT_RELATIVE_JSON_POINTER

std::string_view nfx::serialization::json::vocabulary::FORMAT_RELATIVE_JSON_POINTER { "relative-json-pointer" }
inlineconstexpr

A string instance is valid if it is a valid Relative JSON Pointer.

Definition at line 226 of file Vocabulary.h.

◆ FORMAT_TIME

std::string_view nfx::serialization::json::vocabulary::FORMAT_TIME { "time" }
inlineconstexpr

A string instance is valid if it is a valid representation according to the "full-time" ABNF rule.

Definition at line 157 of file Vocabulary.h.

◆ FORMAT_URI

std::string_view nfx::serialization::json::vocabulary::FORMAT_URI { "uri" }
inlineconstexpr

A string instance is valid if it is a valid URI according to RFC 3986.

Definition at line 197 of file Vocabulary.h.

◆ FORMAT_URI_REFERENCE

std::string_view nfx::serialization::json::vocabulary::FORMAT_URI_REFERENCE { "uri-reference" }
inlineconstexpr

A string instance is valid if it is a valid URI Reference (either a URI or a relative-reference) according to RFC 3986.

Definition at line 200 of file Vocabulary.h.

◆ FORMAT_URI_TEMPLATE

std::string_view nfx::serialization::json::vocabulary::FORMAT_URI_TEMPLATE { "uri-template" }
inlineconstexpr

A string instance is valid if it is a valid URI Template (of any level) according to RFC 6570.

Definition at line 216 of file Vocabulary.h.

◆ FORMAT_UUID

std::string_view nfx::serialization::json::vocabulary::FORMAT_UUID { "uuid" }
inlineconstexpr

A string instance is valid if it is a valid string representation of a UUID according to RFC 4122.

Definition at line 209 of file Vocabulary.h.

◆ METADATA_DEFAULT

std::string_view nfx::serialization::json::vocabulary::METADATA_DEFAULT { "default" }
inlineconstexpr

This keyword can be used to supply a default JSON value associated with a particular schema.

Definition at line 330 of file Vocabulary.h.

◆ METADATA_DEPRECATED

std::string_view nfx::serialization::json::vocabulary::METADATA_DEPRECATED { "deprecated" }
inlineconstexpr

This keyword indicates that applications should refrain from using the declared property.

Definition at line 333 of file Vocabulary.h.

◆ METADATA_DESCRIPTION

std::string_view nfx::serialization::json::vocabulary::METADATA_DESCRIPTION { "description" }
inlineconstexpr

An explanation about the purpose of the instance described by the schema.

Definition at line 327 of file Vocabulary.h.

◆ METADATA_EXAMPLES

std::string_view nfx::serialization::json::vocabulary::METADATA_EXAMPLES { "examples" }
inlineconstexpr

This keyword is used to provide sample JSON values associated with a particular schema, for the purpose of illustrating usage.

Definition at line 336 of file Vocabulary.h.

◆ METADATA_READ_ONLY

std::string_view nfx::serialization::json::vocabulary::METADATA_READ_ONLY { "readOnly" }
inlineconstexpr

This keyword indicates that the value of the instance is managed exclusively by the owning authority, and attempts by an application to modify the value of this property are expected to be ignored or rejected by that owning authority.

Definition at line 339 of file Vocabulary.h.

◆ METADATA_TITLE

std::string_view nfx::serialization::json::vocabulary::METADATA_TITLE { "title" }
inlineconstexpr

A preferably short description about the purpose of the instance described by the schema.

Definition at line 324 of file Vocabulary.h.

◆ METADATA_WRITE_ONLY

std::string_view nfx::serialization::json::vocabulary::METADATA_WRITE_ONLY { "writeOnly" }
inlineconstexpr

This keyword indicates that the value is never present when the instance is retrieved from the owning authority.

Definition at line 342 of file Vocabulary.h.

◆ SCHEMA_DRAFT_04

std::string_view nfx::serialization::json::vocabulary::SCHEMA_DRAFT_04 { "http://json-schema.org/draft-04/schema#" }
inlineconstexpr

JSON Schema Draft-04 URI.

Definition at line 56 of file Vocabulary.h.

◆ SCHEMA_DRAFT_06

std::string_view nfx::serialization::json::vocabulary::SCHEMA_DRAFT_06 { "http://json-schema.org/draft-06/schema#" }
inlineconstexpr

JSON Schema Draft-06 URI.

Definition at line 53 of file Vocabulary.h.

◆ SCHEMA_DRAFT_07

std::string_view nfx::serialization::json::vocabulary::SCHEMA_DRAFT_07 { "http://json-schema.org/draft-07/schema#" }
inlineconstexpr

JSON Schema Draft-07 URI.

Definition at line 50 of file Vocabulary.h.

◆ SCHEMA_DRAFT_2019_09

std::string_view nfx::serialization::json::vocabulary::SCHEMA_DRAFT_2019_09 { "https://json-schema.org/draft/2019-09/schema" }
inlineconstexpr

JSON Schema Draft 2019-09 URI.

Definition at line 47 of file Vocabulary.h.

◆ SCHEMA_DRAFT_2020_12

std::string_view nfx::serialization::json::vocabulary::SCHEMA_DRAFT_2020_12 { "https://json-schema.org/draft/2020-12/schema" }
inlineconstexpr

JSON Schema Draft 2020-12 URI.

Definition at line 44 of file Vocabulary.h.

◆ UNEVALUATED_ITEMS

std::string_view nfx::serialization::json::vocabulary::UNEVALUATED_ITEMS { "unevaluatedItems" }
inlineconstexpr

Validates array elements that did not successfully validate against other standard array applicators.

Definition at line 369 of file Vocabulary.h.

◆ UNEVALUATED_PROPERTIES

std::string_view nfx::serialization::json::vocabulary::UNEVALUATED_PROPERTIES { "unevaluatedProperties" }
inlineconstexpr

Validates object properties that did not successfully validate against other standard object applicators.

Definition at line 372 of file Vocabulary.h.

◆ VALIDATION_CONST

std::string_view nfx::serialization::json::vocabulary::VALIDATION_CONST { "const" }
inlineconstexpr

Validation succeeds if the instance is equal to this keyword's value.

Definition at line 250 of file Vocabulary.h.

◆ VALIDATION_DEPENDENT_REQUIRED

std::string_view nfx::serialization::json::vocabulary::VALIDATION_DEPENDENT_REQUIRED { "dependentRequired" }
inlineconstexpr

Validation succeeds if, for each name that appears in both the instance and as a name within this keyword's value, every item in the corresponding array is also the name of a property in the instance.

Definition at line 298 of file Vocabulary.h.

◆ VALIDATION_ENUM

std::string_view nfx::serialization::json::vocabulary::VALIDATION_ENUM { "enum" }
inlineconstexpr

Validation succeeds if the instance is equal to one of the elements in this keyword's array value.

Definition at line 247 of file Vocabulary.h.

◆ VALIDATION_EXCLUSIVE_MAXIMUM

std::string_view nfx::serialization::json::vocabulary::VALIDATION_EXCLUSIVE_MAXIMUM { "exclusiveMaximum" }
inlineconstexpr

Validation succeeds if the numeric instance is less than the given number.

Definition at line 276 of file Vocabulary.h.

◆ VALIDATION_EXCLUSIVE_MINIMUM

std::string_view nfx::serialization::json::vocabulary::VALIDATION_EXCLUSIVE_MINIMUM { "exclusiveMinimum" }
inlineconstexpr

Validation succeeds if the numeric instance is greater than the given number.

Definition at line 279 of file Vocabulary.h.

◆ VALIDATION_MAX_CONTAINS

std::string_view nfx::serialization::json::vocabulary::VALIDATION_MAX_CONTAINS { "maxContains" }
inlineconstexpr

The number of times that the contains keyword (if set) successfully validates against the instance must be less than or equal to the given integer.

Definition at line 311 of file Vocabulary.h.

◆ VALIDATION_MAX_ITEMS

std::string_view nfx::serialization::json::vocabulary::VALIDATION_MAX_ITEMS { "maxItems" }
inlineconstexpr

Array validation.

An array instance is valid if its size is less than, or equal to, the value of this keyword.

Definition at line 305 of file Vocabulary.h.

◆ VALIDATION_MAX_LENGTH

std::string_view nfx::serialization::json::vocabulary::VALIDATION_MAX_LENGTH { "maxLength" }
inlineconstexpr

String validation.

A string instance is valid against this keyword if its length is less than, or equal to, the value of this keyword.

Definition at line 257 of file Vocabulary.h.

◆ VALIDATION_MAX_PROPERTIES

std::string_view nfx::serialization::json::vocabulary::VALIDATION_MAX_PROPERTIES { "maxProperties" }
inlineconstexpr

Object validation.

An object instance is valid if its number of properties is less than, or equal to, the value of this keyword.

Definition at line 289 of file Vocabulary.h.

◆ VALIDATION_MAXIMUM

std::string_view nfx::serialization::json::vocabulary::VALIDATION_MAXIMUM { "maximum" }
inlineconstexpr

Numeric validation.

Validation succeeds if the numeric instance is less than or equal to the given number.

Definition at line 270 of file Vocabulary.h.

◆ VALIDATION_MIN_CONTAINS

std::string_view nfx::serialization::json::vocabulary::VALIDATION_MIN_CONTAINS { "minContains" }
inlineconstexpr

The number of times that the contains keyword (if set) successfully validates against the instance must be greater than or equal to the given integer.

Definition at line 314 of file Vocabulary.h.

◆ VALIDATION_MIN_ITEMS

std::string_view nfx::serialization::json::vocabulary::VALIDATION_MIN_ITEMS { "minItems" }
inlineconstexpr

An array instance is valid if its size is greater than, or equal to, the value of this keyword.

Definition at line 308 of file Vocabulary.h.

◆ VALIDATION_MIN_LENGTH

std::string_view nfx::serialization::json::vocabulary::VALIDATION_MIN_LENGTH { "minLength" }
inlineconstexpr

A string instance is valid against this keyword if its length is greater than, or equal to, the value of this keyword.

Definition at line 260 of file Vocabulary.h.

◆ VALIDATION_MIN_PROPERTIES

std::string_view nfx::serialization::json::vocabulary::VALIDATION_MIN_PROPERTIES { "minProperties" }
inlineconstexpr

An object instance is valid if its number of properties is greater than, or equal to, the value of this keyword.

Definition at line 292 of file Vocabulary.h.

◆ VALIDATION_MINIMUM

std::string_view nfx::serialization::json::vocabulary::VALIDATION_MINIMUM { "minimum" }
inlineconstexpr

Validation succeeds if the numeric instance is greater than or equal to the given number.

Definition at line 273 of file Vocabulary.h.

◆ VALIDATION_MULTIPLE_OF

std::string_view nfx::serialization::json::vocabulary::VALIDATION_MULTIPLE_OF { "multipleOf" }
inlineconstexpr

A numeric instance is valid only if division by this keyword's value results in an integer.

Definition at line 282 of file Vocabulary.h.

◆ VALIDATION_PATTERN

std::string_view nfx::serialization::json::vocabulary::VALIDATION_PATTERN { "pattern" }
inlineconstexpr

A string instance is considered valid if the regular expression matches the instance successfully.

Definition at line 263 of file Vocabulary.h.

◆ VALIDATION_REQUIRED

std::string_view nfx::serialization::json::vocabulary::VALIDATION_REQUIRED { "required" }
inlineconstexpr

An object instance is valid against this keyword if every item in the array is the name of a property in the instance.

Definition at line 295 of file Vocabulary.h.

◆ VALIDATION_TYPE

std::string_view nfx::serialization::json::vocabulary::VALIDATION_TYPE { "type" }
inlineconstexpr

Validation succeeds if the type of the instance matches the type represented by the given type, or matches at least one of the given types.

Definition at line 244 of file Vocabulary.h.

◆ VALIDATION_UNIQUE_ITEMS

std::string_view nfx::serialization::json::vocabulary::VALIDATION_UNIQUE_ITEMS { "uniqueItems" }
inlineconstexpr

If this keyword is set to the boolean value true, the instance validates successfully if all of its elements are unique.

Definition at line 317 of file Vocabulary.h.