Skip to content

Normative language for "$vocabulary" #1295

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Oct 27, 2022

Conversation

handrews
Copy link
Contributor

This reworks the language around "$vocabulary" to capture the original intent in normative language. In particular, it explicitly addresses vocabularies omitted from "$vocabulary". As noted in #1294, this is based on extensive recent discussion and does not add any actual new requirements. It does use RFC 2119 language in places where it had not previously been used, though.

The new text emphasizes the concepts of required or optional vocabularies more than the true and false boolean values that implement them, and adds some explanation of the utility of optional vocabularies.

It also adds a clarification around identically-named vocabulary and non-vocabulary keywords, including that the standard keywords MUST be considered vocabulary keywords and subject to "$vocabulary" control even if the implementation does not support custom vocabularies at all.

Fixes #1294 . Also includes the two-word #1290 change as it just read strangely without it given the reworked section headers. Either way it will be a merge conflict anyway so I'll sort that out as needed.

This reworks the language around "$vocabulary" to capture the
original intent in normative language.  In particular, it explicitly
addresses vocabularies omitted from "$vocabulary".

The new text emphasizes the concepts of required or optional vocabularies
more than the true and false boolean values that implement them, and
adds some explanation of the utility of optional vocabularies.

It also adds a clarification around identically-named
vocabulary and non-vocabulary keywords, including that the standard
keywords MUST be considered vocabulary keywords and subject to
"$vocabulary" control even if the implementation does not support
custom vocabularies at all.
@handrews
Copy link
Contributor Author

The force-push just now was a rebase with no changes.

@handrews handrews merged commit a7f1aa2 into json-schema-org:main Oct 27, 2022
@handrews handrews deleted the omit-vocab branch October 27, 2022 01:13
@gregsdennis gregsdennis added clarification Items that need to be clarified in the specification and removed Type: Maintenance labels Jul 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clarification Items that need to be clarified in the specification core
Development

Successfully merging this pull request may close these issues.

Clarify semantics of omitting vocabularies from "$vocabulary"
2 participants