Skip to content
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

Remove optional ID features from required tests #175

Closed
seagreen opened this issue Mar 22, 2017 · 4 comments
Closed

Remove optional ID features from required tests #175

seagreen opened this issue Mar 22, 2017 · 4 comments

Comments

@seagreen
Copy link

If I understand it correctly, the Recursive references between schemas test uses an optional "id" feature. Implementations have to use "id" to resolve references from them to other documents, but aren't required to allow "id" to add a new address that incoming references can refer to.

Two questions:

  1. Is this correct?

  2. If so what do we do about it? I'd be happy to make a PR that changes that test so it doesn't use addressing by "id" if that's what we want to do.

@epoberezkin
Copy link
Member

epoberezkin commented Mar 22, 2017

Implementations have to use "id" to resolve references from them to other documents, but aren't required to allow "id" to add a new address that incoming references can refer to.

@seagreen are you referring to https://tools.ietf.org/html/draft-zyp-json-schema-04#section-7.2.4, specifically "An implementation choosing to support inline dereferencing SHOULD be able to use this kind of reference. Implementations choosing to use canonical dereferencing, however, are not required to support it."?

I think this distinction was dropped and IDs that change base URI must be supported in draft-06, it's all in RFC3986. @handrews?

So maybe it is ok to drop these internal IDs in draft4 test and use JSON pointers instead, in draft6 it can stay as is I think.

@handrews
Copy link
Contributor

@seagreen @epoberezkin this test case has nothing to with inline vs canonical dereferencing. Both of the id values in this test case are full URIs without fragments, which are usable via canonical dereferencing which MUST be supported. Canonical dereferencing supports both internal and external references.

Unless @Julian disagrees, I think this should be closed without changing anything.

@Julian
Copy link
Member

Julian commented Sep 25, 2017

@handrews think I agree

@seagreen
Copy link
Author

@handrews: Thanks for the clarification!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants