|
1362 | 1362 | If present, the value for this keyword MUST be a string, and MUST represent a |
1363 | 1363 | valid <xref target="RFC3987">IRI-reference</xref>. This IRI-reference |
1364 | 1364 | SHOULD be normalized, and MUST resolve to an |
1365 | | - <xref target="RFC3987">absolute-IRI</xref> (without a fragment), |
1366 | | - or to a IRI with an empty fragment. |
| 1365 | + <xref target="RFC3987">absolute-IRI</xref> (without a fragment). |
1367 | 1366 | </t> |
1368 | 1367 | <t> |
1369 | | - The empty fragment form is NOT RECOMMENDED and is retained only |
1370 | | - for backwards compatibility, and because the |
1371 | | - application/schema+json media type defines that a IRI with an |
1372 | | - empty fragment identifies the same resource as the same IRI |
1373 | | - with the fragment removed. However, since this equivalence is not |
1374 | | - part of the <xref target="RFC3986">RFC 3986 normalization process</xref>, |
1375 | | - implementers and schema authors cannot rely on generic IRI libraries |
1376 | | - understanding it. |
1377 | | - </t> |
1378 | | - <t> |
1379 | | - Therefore, "$id" MUST NOT contain a non-empty fragment, and SHOULD NOT |
1380 | | - contain an empty fragment. The absolute-IRI form MUST be considered |
1381 | | - the canonical IRI, regardless of the presence or absence of an empty fragment. |
1382 | | - <cref> |
1383 | | - An empty fragment is currently allowed because older meta-schemas have |
1384 | | - an empty fragment in their $id (or previously, id). |
1385 | | - A future draft may outright forbid even empty fragments in "$id". |
1386 | | - </cref> |
1387 | | - </t> |
1388 | | - <t> |
1389 | | - The absolute-IRI also serves as the base IRI for relative IRI-references |
| 1368 | + The resulting absolute-IRI serves as the base IRI for relative IRI-references |
1390 | 1369 | in keywords within the schema resource, in accordance with |
1391 | 1370 | <xref target="RFC3987">RFC 3987 section 6.5</xref> and |
1392 | 1371 | <xref target="RFC3986">RFC 3986 section 5.1.1</xref> regarding base IRIs |
|
1477 | 1456 | an error condition. Otherwise the result is undefined, and even if |
1478 | 1457 | documented will not be interoperable. |
1479 | 1458 | </t> |
1480 | | - <t> |
1481 | | - Note that due to the semantics of JSON Pointer fragments, schema IRIs |
1482 | | - that differ only by the presence or absence of an empty fragment MUST |
1483 | | - be considered duplicates. |
1484 | | - </t> |
1485 | 1459 | </section> |
1486 | 1460 |
|
1487 | 1461 | <section title="Schema References" anchor="references"> |
|
0 commit comments