|
1376 | 1376 | If present, the value for this keyword MUST be a string, and MUST represent a |
1377 | 1377 | valid <xref target="RFC3987">IRI-reference</xref>. This IRI-reference |
1378 | 1378 | SHOULD be normalized, and MUST resolve to an |
1379 | | - <xref target="RFC3987">absolute-IRI</xref> (without a fragment), |
1380 | | - or to a IRI with an empty fragment. |
| 1379 | + <xref target="RFC3987">absolute-IRI</xref> (without a fragment). |
1381 | 1380 | </t> |
1382 | 1381 | <t> |
1383 | | - The empty fragment form is NOT RECOMMENDED and is retained only |
1384 | | - for backwards compatibility, and because the |
1385 | | - application/schema+json media type defines that a IRI with an |
1386 | | - empty fragment identifies the same resource as the same IRI |
1387 | | - with the fragment removed. However, since this equivalence is not |
1388 | | - part of the <xref target="RFC3986">RFC 3986 normalization process</xref>, |
1389 | | - implementers and schema authors cannot rely on generic IRI libraries |
1390 | | - understanding it. |
1391 | | - </t> |
1392 | | - <t> |
1393 | | - Therefore, "$id" MUST NOT contain a non-empty fragment, and SHOULD NOT |
1394 | | - contain an empty fragment. The absolute-IRI form MUST be considered |
1395 | | - the canonical IRI, regardless of the presence or absence of an empty fragment. |
1396 | | - <cref> |
1397 | | - An empty fragment is currently allowed because older meta-schemas have |
1398 | | - an empty fragment in their $id (or previously, id). |
1399 | | - A future draft may outright forbid even empty fragments in "$id". |
1400 | | - </cref> |
1401 | | - </t> |
1402 | | - <t> |
1403 | | - The absolute-IRI also serves as the base IRI for relative IRI-references |
| 1382 | + The resulting absolute-IRI serves as the base IRI for relative IRI-references |
1404 | 1383 | in keywords within the schema resource, in accordance with |
1405 | 1384 | <xref target="RFC3987">RFC 3987 section 6.5</xref> and |
1406 | 1385 | <xref target="RFC3986">RFC 3986 section 5.1.1</xref> regarding base IRIs |
|
1489 | 1468 | an error condition. Otherwise the result is undefined, and even if |
1490 | 1469 | documented will not be interoperable. |
1491 | 1470 | </t> |
1492 | | - <t> |
1493 | | - Note that due to the semantics of JSON Pointer fragments, schema IRIs |
1494 | | - that differ only by the presence or absence of an empty fragment MUST |
1495 | | - be considered duplicates. |
1496 | | - </t> |
1497 | 1471 | </section> |
1498 | 1472 |
|
1499 | 1473 | <section title="Schema References" anchor="references"> |
|
0 commit comments