-
-
Notifications
You must be signed in to change notification settings - Fork 332
Description
It may be useful to define, in somewhat mathematical terms, what it means to validate an instance, and which inputs are used.
I imagine the validation function being defined as such:
Validate[collection, schema, version, iriBase, instance] → Boolean ∪ Indeterminate
Where:
- collection ∈ set of all Map[ IRI → valid JSON Schema instance ]
- schema ∈ set of all IRIs
- version ∈ set of all IRIs
- iriBase ∈ set of all IRIs
- instance ∈ set of all JSON documents (i.e. with a media type application/json)
This may also help to resolve issue #4. If the validation function is defined to have no side-effects, then we can just reiterate that point within the "default" keyword. We can also say the keyword is "not used for validation, but may be used for other purposes not defined here."
This is not to say that JSON Schema libraries can't implement other functions, they might desire to implement a "coerce" function that turns an arbitrary JSON instance into a validating one (casting strings to numbers, filling in missing required values using the default, etc).
Aside: Defining a "coerce" might be something useful for v6 (or, the next version with feature additions).
Metadata
Metadata
Assignees
Labels
Type
Projects
Status