|
50 | 50 | </address>
|
51 | 51 | </author>
|
52 | 52 |
|
53 |
| - <date year="2021"/> |
| 53 | + <date year="2022"/> |
54 | 54 | <workgroup>Internet Engineering Task Force</workgroup>
|
55 | 55 | <keyword>JSON</keyword>
|
56 | 56 | <keyword>Schema</keyword>
|
|
1824 | 1824 | reference target, is preferable.
|
1825 | 1825 | </t>
|
1826 | 1826 | <t>
|
1827 |
| - An implementation MAY choose not to support addressing schemas |
1828 |
| - by non-canonical URIs. As such, it is RECOMMENDED that schema authors only |
1829 |
| - use canonical URIs, as using non-canonical URIs may reduce |
1830 |
| - schema interoperability. |
| 1827 | + An implementation MAY choose not to support addressing schema resources |
| 1828 | + (and their subschemas) by non-canonical URIs. |
| 1829 | + As such, it is RECOMMENDED that schema authors only use canonical URIs, |
| 1830 | + as using non-canonical URIs may reduce schema interoperability. |
1831 | 1831 | <cref>
|
1832 | 1832 | This is to avoid requiring implementations to keep track of a whole
|
1833 | 1833 | stack of possible base URIs and JSON Pointer fragments for each,
|
|
1836 | 1836 | no point in forbidding it, while others have argued that it complicates
|
1837 | 1837 | schema identification and should be forbidden. Feedback on this
|
1838 | 1838 | topic is encouraged.
|
| 1839 | + After some discussion, we feel that we need to remove the use of |
| 1840 | + "canonical" in favour of talking about JSON Pointers which reference |
| 1841 | + across schema resource boundaries as undefined or even forbidden behavior |
| 1842 | + (https://github.com/json-schema-org/json-schema-spec/issues/937, |
| 1843 | + https://github.com/json-schema-org/json-schema-spec/issues/1183) |
1839 | 1844 | </cref>
|
1840 | 1845 | </t>
|
1841 | 1846 | <t>
|
@@ -3390,6 +3395,18 @@ https://example.com/schemas/common#/$defs/count/minimum
|
3390 | 3395 | </t>
|
3391 | 3396 | </list>
|
3392 | 3397 | </t>
|
| 3398 | + <t> |
| 3399 | + Note: The fragment part of the URI does not make it canonical or non-canonical, |
| 3400 | + rather, the base URI used (as part of the full URI with any fragment) is what |
| 3401 | + determines the canonical nature of the resulting full URI. |
| 3402 | + <cref> |
| 3403 | + Multiple "canonical" URIs? We Acknowledge this is potentially confusing, and |
| 3404 | + direct you to read the CREF located in the |
| 3405 | + <xref target="embedded">JSON Pointer fragments and embedded schema resources</xref> |
| 3406 | + section for futher comments. |
| 3407 | + </cref> |
| 3408 | + </t> |
| 3409 | + |
3393 | 3410 | </section>
|
3394 | 3411 |
|
3395 | 3412 | <section title="Manipulating schema documents and references">
|
|
0 commit comments