Each schema object is independently evaluated against each instance location to which it applies.
This greatly simplifies the implementation requirements for validators by ensuring that they do not need to maintain state across the document-wide validation process.
Validation begins by applying the root schema to the complete instance document.
From there, various keywords are used to determine which additional subschemas are applied to either the current location, or a child location.
Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
The keywords in the boolean logic sections of this specification apply subschemas to the same location as the parent schema.
An instance location that satisfies all asserted constraints is then annotated with any keywords that contain non-assertion information, such as descriptive metadata and usage hints.
If all locations within the instance satisfy all asserted constraints, then the instance is said to be valid against the schema.
Copyright (c) 2018 IETF Trust and the persons identified as the document authors. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents ( in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights and restrictions with respect to this document.Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time.It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on September 20, 2018.This specification will use the concepts, syntax, and terminology defined by the JSON Schema core specification.