Skip to content

Commit 136b55f

Browse files
committed
add section about annotation-based keyword interaction being illustrative
1 parent 49e58a5 commit 136b55f

File tree

1 file changed

+17
-5
lines changed

1 file changed

+17
-5
lines changed

jsonschema-core.md

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -523,11 +523,23 @@ to inform the user of the evaluation path that produced the error or annotation.
523523

524524
### Keyword Interactions
525525

526-
Keyword behavior MAY be defined in terms of the annotation results of
527-
[subschemas](#root) and/or adjacent keywords (keywords within the same schema
528-
object) and their subschemas. Such keywords MUST NOT result in a circular
529-
dependency. Keywords MAY modify their behavior based on the presence or absence
530-
of another keyword in the same [schema object](#schema-document).
526+
Keywords MAY modify their behavior based on the presence or absence of another
527+
keyword in the same [schema object](#schema-document). Such keywords MUST NOT
528+
result in a circular dependency.
529+
530+
Unless otherwise specified, keywords act independently.
531+
532+
#### Annotations as an Interaction Mechanism
533+
534+
This document uses annotations as a mechanism to describe the interactions
535+
between keywords, however this is for illustrative purposes and not
536+
prescriptive. Implementations SHOULD use whatever mechanisms makes sense given
537+
their architecture and language needs in order to achieve the specified
538+
behaviors. Implementations are not required to collect annotations in order to
539+
manage keyword interaction.
540+
541+
Supplementary specifications are also encouraged to use annotations to describe
542+
any interactions of the keywords they define.
531543

532544
### Default Behaviors {#default-behaviors}
533545

0 commit comments

Comments
 (0)