@@ -1269,7 +1269,7 @@ desired to identify the object containing the `$ref` in the second
1269
1269
Due to the potential break in functionality described above, the behavior for
1270
1270
using JSON Pointer fragments that point to or cross a resource boundary is
1271
1271
undefined. Schema authors SHOULD NOT rely on such IRIs, as using them may
1272
- reduce interoperability.
1272
+ reduce interoperability.[ ^ 8 ]
1273
1273
1274
1274
[ ^ 8 ] : This is to avoid requiring implementations to keep track of a whole stack
1275
1275
of possible base IRIs and JSON Pointer fragments for each, given that all but
@@ -2194,35 +2194,42 @@ name fragment identifiers.
2194
2194
}
2195
2195
```
2196
2196
2197
- The schemas at the following IRI-encoded [ JSON Pointers] ( #rfc6901 ) (relative to
2198
- the root schema) have the following base IRIs, and are identifiable by any
2199
- listed IRI in accordance with {{fragments}} and {{embedded}} above.
2197
+ The schemas at the following locations (indicated by plain
2198
+ [ JSON Pointers] ( #rfc6901 ) relative to the root document) have the following base
2199
+ IRIs, and are identifiable by any listed IRI in accordance with {{fragments}}
2200
+ and {{embedded}} above.
2200
2201
2201
- ` # ` (document root): canonical (and base) IRI: ` https://example.com/root.json `
2202
+ Document root:
2203
+ - canonical (and base) IRI: ` https://example.com/root.json `
2202
2204
- canonical resource IRI plus pointer fragment: ` https://example.com/root.json# `
2203
2205
2204
- ` #/$defs/A ` : base IRI: ` https://example.com/root.json `
2206
+ Document location ` /$defs/A ` :
2207
+ - base IRI: ` https://example.com/root.json `
2205
2208
- canonical resource IRI plus plain fragment:
2206
2209
` https://example.com/root.json#foo `
2207
2210
- canonical resource IRI plus pointer fragment:
2208
2211
` https://example.com/root.json#/$defs/A `
2209
2212
2210
- ` #/$defs/B ` : canonical (and base) ` IRI: https://example.com/other.json `
2213
+ Document location ` /$defs/B ` :
2214
+ - canonical (and base) ` IRI: https://example.com/other.json `
2211
2215
- canonical resource IRI plus pointer fragment:
2212
2216
` https://example.com/other.json# `
2213
2217
2214
- ` #/$defs/B/$defs/X ` : base IRI: ` https://example.com/other.json `
2218
+ Document location ` /$defs/B/$defs/X ` :
2219
+ - base IRI: ` https://example.com/other.json `
2215
2220
- canonical resource IRI plus plain fragment:
2216
2221
` https://example.com/other.json#bar `
2217
2222
- canonical resource IRI plus pointer fragment:
2218
2223
` https://example.com/other.json#/$defs/X `
2219
2224
2220
- ` #/$defs/B/$defs/Y ` : canonical (and base) IRI:
2225
+ Document location ` /$defs/B/$defs/Y ` :
2226
+ - canonical (and base) IRI:
2221
2227
` https://example.com/t/inner.json `
2222
2228
- canonical IRI plus plain fragment: ` https://example.com/t/inner.json#bar `
2223
2229
- canonical IRI plus pointer fragment: ` https://example.com/t/inner.json# `
2224
2230
2225
- ` #/$defs/C ` : canonical (and base) IRI:
2231
+ Document location ` /$defs/C ` :
2232
+ - canonical (and base) IRI:
2226
2233
` urn:uuid:ee564b8a-7a87-4125-8c96-e9f123d6766f `
2227
2234
- canonical IRI plus pointer fragment:
2228
2235
` urn:uuid:ee564b8a-7a87-4125-8c96-e9f123d6766f# `
@@ -2232,28 +2239,31 @@ rather, the base IRI used (as part of the full IRI with any fragment) is what
2232
2239
determines the canonical nature of the resulting full IRI.[ ^ 18 ]
2233
2240
2234
2241
[ ^ 18 ] : Multiple "canonical" IRIs? We Acknowledge this is potentially confusing,
2235
- and direct you to read the CREF located in the [ JSON Pointer fragments and
2236
- embedded schema resources] ( #embedded ) section for further comments.
2242
+ and direct you to read the CREF located in {{#embedded}} for further comments.
2237
2243
2238
2244
While the following IRIs do correctly indicate specific schemas, per the reasons
2239
2245
outlined in {{embedded}}, they are to be avoided:
2240
2246
2241
- ` #/$defs/B ` : canonical (and base) ` IRI: https://example.com/other.json `
2247
+ Document location ` /$defs/B ` :
2248
+ - canonical (and base) ` IRI: https://example.com/other.json `
2242
2249
- base IRI of enclosing (root.json) resource plus fragment:
2243
2250
` https://example.com/root.json#/$defs/B `
2244
2251
2245
- ` #/$defs/B/$defs/X ` : base IRI: ` https://example.com/other.json `
2252
+ Document location ` /$defs/B/$defs/X ` :
2253
+ - base IRI: ` https://example.com/other.json `
2246
2254
- base IRI of enclosing (root.json) resource plus fragment:
2247
2255
` https://example.com/root.json#/$defs/B/$defs/X `
2248
2256
2249
- ` #/$defs/B/$defs/Y ` : canonical (and base) IRI:
2257
+ Document location ` /$defs/B/$defs/Y ` :
2258
+ - canonical (and base) IRI:
2250
2259
` https://example.com/t/inner.json `
2251
2260
- base IRI of enclosing (other.json) resource plus fragment:
2252
2261
` https://example.com/other.json#/$defs/Y `
2253
2262
- base IRI of enclosing (root.json) resource plus fragment:
2254
2263
` https://example.com/root.json#/$defs/B/$defs/Y `
2255
2264
2256
- ` #/$defs/C ` : canonical (and base) IRI:
2265
+ Document location ` /$defs/C ` :
2266
+ - canonical (and base) IRI:
2257
2267
` urn:uuid:ee564b8a-7a87-4125-8c96-e9f123d6766f `
2258
2268
- base IRI of enclosing (root.json) resource plus fragment:
2259
2269
` https://example.com/root.json#/$defs/C `
0 commit comments