|
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