link_relation 0.1.0

Registered link relation types for Web Linking (RFC8288)
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
// Disable IntelliJ IDEA's spellcheck for the following part
// noinspection SpellCheckingInspection GrazieInspection
/// Enumration of all 127 registered link relation types.
#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]
pub enum LinkRelation {
    /// Refers to a resource that is the subject of the link's context.
    /// - Original name: **about**.
    /// - Ref: [RFC6903](https://datatracker.ietf.org/doc/html/RFC6903), section 2
    About,

    /// Asserts that the link target provides an access control resource for the link context.
    /// - Original name: **acl**.
    /// - Ref: <https://solidproject.org/TR/wac#acl-link-relation>
    ACL,

    /// Refers to a substitute for this context
    /// - Original name: **alternate**.
    /// - Ref: [HTML](https://html.spec.whatwg.org/)
    Alternate,

    /// Used to reference alternative content that uses the AMP profile of the HTML format.
    /// - Original name: **amphtml**.
    /// - Ref: [AMP HTML](https://amp.dev/documentation/guides-and-tutorials/learn/spec/amphtml)
    AMPHTML,

    /// Refers to a list of APIs available from the publisher of the link context.
    /// - Original name: **api-catalog**.
    /// - Ref: [RFC-ietf-httpapi-api-catalog-08](https://datatracker.ietf.org/doc/html/draft-ietf-httpapi-api-catalog-08)
    APICatalog,

    /// Refers to an appendix.
    /// - Original name: **appendix**.
    /// - Ref: [HTML 4.01 Specification](https://www.w3.org/TR/html401/)
    Appendix,

    /// Refers to an icon for the context. Synonym for icon.
    /// - Original name: **apple-touch-icon**.
    /// - Ref: [Configuring Web Applications](https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html)
    AppleTouchIcon,

    /// Refers to a launch screen for the context.
    /// - Original name: **apple-touch-startup-image**.
    /// - Ref: [Configuring Web Applications](https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html)
    AppleTouchStartupImage,

    /// Refers to a collection of records, documents, or other materials of historical interest.
    /// - Original name: **archives**.
    /// - Ref: [HTML5](https://www.w3.org/TR/html5/)
    Archives,

    /// Refers to the context's author.
    /// - Original name: **author**.
    /// - Ref: [HTML](https://html.spec.whatwg.org/)
    /// - Notes: See also 'me'
    Author,

    /// Identifies the entity that blocks access to a resource following receipt of a legal demand.
    /// - Original name: **blocked-by**.
    /// - Ref: [RFC7725](https://datatracker.ietf.org/doc/html/RFC7725)
    BlockedBy,

    /// Gives a permanent link to use for bookmarking purposes.
    /// - Original name: **bookmark**.
    /// - Ref: [HTML](https://html.spec.whatwg.org/)
    Bookmark,

    /// This link relation identifies the C2PA Manifest associated with the link context
    /// - Original name: **c2pa-manifest**.
    /// - Ref: [Content Credentials : C2PA Technical Specification](https://c2pa.org/specifications/specifications/2.1/specs/C2PA_Specification.html)
    C2PAManifest,

    /// Designates the preferred version of a resource (the IRI and its contents).
    /// - Original name: **canonical**.
    /// - Ref: [RFC6596](https://datatracker.ietf.org/doc/html/RFC6596)
    Canonical,

    /// Refers to a chapter in a collection of resources.
    /// - Original name: **chapter**.
    /// - Ref: [HTML 4.01 Specification](https://www.w3.org/TR/html401/)
    Chapter,

    /// Indicates that the link target is preferred over the link context for the purpose of permanent citation.
    /// - Original name: **cite-as**.
    /// - Ref: [RFC8574](https://datatracker.ietf.org/doc/html/RFC8574)
    CiteAs,

    /// The target IRI points to a resource which represents the collection resource for the context IRI.
    /// - Original name: **collection**.
    /// - Ref: [RFC6573](https://datatracker.ietf.org/doc/html/RFC6573)
    Collection,

    /// Refers to a compression dictionary used for content encoding.
    /// - Original name: **compression-dictionary**.
    /// - Ref: [RFC-ietf-httpbis-compression-dictionary-19](https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-compression-dictionary-19)
    CompressionDictionary,

    /// Refers to a table of contents.
    /// - Original name: **contents**.
    /// - Ref: [HTML 4.01 Specification](https://www.w3.org/TR/html401/)
    Contents,

    /// The document linked to was later converted to the document that contains this link relation.  For example, an RFC can have a link to the Internet-Draft that became the RFC; in that case, the link relation would be "convertedFrom".
    /// - Original name: **convertedfrom**.
    /// - Ref: [RFC7991](https://datatracker.ietf.org/doc/html/RFC7991)
    /// - Notes: This relation is different than "predecessor-version" in that "predecessor-version" is for items in a version control system.  It is also different than "previous" in that this relation is used for converted resources, not those that are part of a sequence of resources.
    ConvertedFrom,

    /// Refers to a copyright statement that applies to the link's context.
    /// - Original name: **copyright**.
    /// - Ref: [HTML 4.01 Specification](https://www.w3.org/TR/html401/)
    Copyright,

    /// The target IRI points to a resource where a submission form can be obtained.
    /// - Original name: **create-form**.
    /// - Ref: [RFC6861](https://datatracker.ietf.org/doc/html/RFC6861)
    CreateForm,

    /// Refers to a resource containing the most recent item(s) in a collection of resources.
    /// - Original name: **current**.
    /// - Ref: [RFC5005](https://datatracker.ietf.org/doc/html/RFC5005)
    Current,

    /// Refers to a resource that is documentation (intended for human consumption) about the deprecation of the link's context.
    /// - Original name: **deprecation**.
    /// - Ref: [RFC-ietf-httpapi-deprecation-header-09](https://datatracker.ietf.org/doc/html/draft-ietf-httpapi-deprecation-header-09), section 3
    Deprecation,

    /// Refers to a resource providing information about the link's context.
    /// - Original name: **describedby**.
    /// - Ref: [Protocol for Web Description Resources (POWDER)](https://www.w3.org/TR/powder-dr/)
    Describedby,

    /// The relationship A 'describes' B asserts that resource A provides a description of resource B. There are no constraints on the format or representation of either A or B, neither are there any further constraints on either resource.
    /// - Original name: **describes**.
    /// - Ref: [RFC6892](https://datatracker.ietf.org/doc/html/RFC6892)
    /// - Notes: This link relation type is the inverse of the 'describedby' relation type.  While 'describedby' establishes a relation from the described resource back to the resource that describes it, 'describes' established a relation from the describing resource to the resource it describes.  If B is 'describedby' A, then A 'describes' B.
    Describes,

    /// Refers to a list of patent disclosures made with respect to material for which 'disclosure' relation is specified.
    /// - Original name: **disclosure**.
    /// - Ref: [RFC6579](https://datatracker.ietf.org/doc/html/RFC6579)
    Disclosure,

    /// Used to indicate an origin that will be used to fetch required resources for the link context, and that the user agent ought to resolve as early as possible.
    /// - Original name: **dns-prefetch**.
    /// - Ref: [HTML](https://html.spec.whatwg.org/)
    DnsPrefetch,

    /// Refers to a resource whose available representations are byte-for-byte identical with the corresponding representations of the context IRI.
    /// - Original name: **duplicate**.
    /// - Ref: [RFC6249](https://datatracker.ietf.org/doc/html/RFC6249)
    /// - Notes: This relation is for static resources.  That is, an HTTP GET request on any duplicate will return the same representation.  It does not make sense for dynamic or POSTable resources and should not be used for them.
    Duplicate,

    /// Refers to a resource that can be used to edit the link's context.
    /// - Original name: **edit**.
    /// - Ref: [RFC5023](https://datatracker.ietf.org/doc/html/RFC5023)
    Edit,

    /// The target IRI points to a resource where a submission form for editing associated resource can be obtained.
    /// - Original name: **edit-form**.
    /// - Ref: [RFC6861](https://datatracker.ietf.org/doc/html/RFC6861)
    EditForm,

    /// Refers to a resource that can be used to edit media associated with the link's context.
    /// - Original name: **edit-media**.
    /// - Ref: [RFC5023](https://datatracker.ietf.org/doc/html/RFC5023)
    EditMedia,

    /// Identifies a related resource that is potentially large and might require special handling.
    /// - Original name: **enclosure**.
    /// - Ref: [RFC4287](https://datatracker.ietf.org/doc/html/RFC4287)
    Enclosure,

    /// Refers to a resource that is not part of the same site as the current context.
    /// - Original name: **external**.
    /// - Ref: [HTML](https://html.spec.whatwg.org/)
    External,

    /// An IRI that refers to the furthest preceding resource in a series of resources.
    /// - Original name: **first**.
    /// - Ref: [RFC8288](https://datatracker.ietf.org/doc/html/RFC8288)
    /// - Notes: This relation type registration did not indicate a reference.  Originally requested by Mark Nottingham in December 2004.
    First,

    /// Refers to a glossary of terms.
    /// - Original name: **glossary**.
    /// - Ref: [HTML 4.01 Specification](https://www.w3.org/TR/html401/)
    Glossary,

    /// Refers to context-sensitive help.
    /// - Original name: **help**.
    /// - Ref: [HTML](https://html.spec.whatwg.org/)
    Help,

    /// Refers to a resource hosted by the server indicated by the link context.
    /// - Original name: **hosts**.
    /// - Ref: [RFC6690](https://datatracker.ietf.org/doc/html/RFC6690)
    /// - Notes: This relation is used in CoRE where links are retrieved as a "/.well-known/core" resource representation, and is the default relation type in the CoRE Link Format.
    Hosts,

    /// Refers to a hub that enables registration for notification of updates to the context.
    /// - Original name: **hub**.
    /// - Ref: [WebSub](https://www.w3.org/TR/websub/)
    /// - Notes: This relation type was requested by Brett Slatkin.
    Hub,

    /// Conveys the STUN and TURN servers that can be used by an ICE Agent to establish a connection with a peer.
    /// - Original name: **ice-server**.
    /// - Ref: [RFC-ietf-wish-whip-16](https://datatracker.ietf.org/doc/html/draft-ietf-wish-whip-16)
    ICEServer,

    /// Refers to an icon representing the link's context.
    /// - Original name: **icon**.
    /// - Ref: [HTML](https://html.spec.whatwg.org/)
    Icon,

    /// Refers to an index.
    /// - Original name: **index**.
    /// - Ref: [HTML 4.01 Specification](https://www.w3.org/TR/html401/)
    Index,

    /// refers to a resource associated with a time interval that ends before the beginning of the time interval associated with the context resource
    /// - Original name: **intervalafter**.
    /// - Ref: [Time Ontology in OWL](https://www.w3.org/TR/owl-time/) section 4.2.21
    IntervalAfter,

    /// refers to a resource associated with a time interval that begins after the end of the time interval associated with the context resource
    /// - Original name: **intervalbefore**.
    /// - Ref: [Time Ontology in OWL](https://www.w3.org/TR/owl-time/) section 4.2.22
    IntervalBefore,

    /// refers to a resource associated with a time interval that begins after the beginning of the time interval associated with the context resource, and ends before the end of the time interval associated with the context resource
    /// - Original name: **intervalcontains**.
    /// - Ref: [Time Ontology in OWL](https://www.w3.org/TR/owl-time/) section 4.2.23
    IntervalContains,

    /// refers to a resource associated with a time interval that begins after the end of the time interval associated with the context resource, or ends before the beginning of the time interval associated with the context resource
    /// - Original name: **intervaldisjoint**.
    /// - Ref: [Time Ontology in OWL](https://www.w3.org/TR/owl-time/) section 4.2.24
    IntervalDisjoint,

    /// refers to a resource associated with a time interval that begins before the beginning of the time interval associated with the context resource, and ends after the end of the time interval associated with the context resource
    /// - Original name: **intervalduring**.
    /// - Ref: [Time Ontology in OWL](https://www.w3.org/TR/owl-time/) section 4.2.25
    IntervalDuring,

    /// refers to a resource associated with a time interval whose beginning coincides with the beginning of the time interval associated with the context resource, and whose end coincides with the end of the time interval associated with the context resource
    /// - Original name: **intervalequals**.
    /// - Ref: [Time Ontology in OWL](https://www.w3.org/TR/owl-time/) section 4.2.26
    IntervalEquals,

    /// refers to a resource associated with a time interval that begins after the beginning of the time interval associated with the context resource, and whose end coincides with the end of the time interval associated with the context resource
    /// - Original name: **intervalfinishedby**.
    /// - Ref: [Time Ontology in OWL](https://www.w3.org/TR/owl-time/) section 4.2.27
    IntervalFinishedBy,

    /// refers to a resource associated with a time interval that begins before the beginning of the time interval associated with the context resource, and whose end coincides with the end of the time interval associated with the context resource
    /// - Original name: **intervalfinishes**.
    /// - Ref: [Time Ontology in OWL](https://www.w3.org/TR/owl-time/) section 4.2.28
    IntervalFinishes,

    /// refers to a resource associated with a time interval that begins before or is coincident with the beginning of the time interval associated with the context resource, and ends after or is coincident with the end of the time interval associated with the context resource
    /// - Original name: **intervalin**.
    /// - Ref: [Time Ontology in OWL](https://www.w3.org/TR/owl-time/) section 4.2.29
    IntervalIn,

    /// refers to a resource associated with a time interval whose beginning coincides with the end of the time interval associated with the context resource
    /// - Original name: **intervalmeets**.
    /// - Ref: [Time Ontology in OWL](https://www.w3.org/TR/owl-time/) section 4.2.30
    IntervalMeets,

    /// refers to a resource associated with a time interval whose end coincides with the beginning of the time interval associated with the context resource
    /// - Original name: **intervalmetby**.
    /// - Ref: [Time Ontology in OWL](https://www.w3.org/TR/owl-time/) section 4.2.31
    IntervalMetBy,

    /// refers to a resource associated with a time interval that begins before the beginning of the time interval associated with the context resource, and ends after the beginning of the time interval associated with the context resource
    /// - Original name: **intervaloverlappedby**.
    /// - Ref: [Time Ontology in OWL](https://www.w3.org/TR/owl-time/) section 4.2.32
    IntervalOverlappedBy,

    /// refers to a resource associated with a time interval that begins before the end of the time interval associated with the context resource, and ends after the end of the time interval associated with the context resource
    /// - Original name: **intervaloverlaps**.
    /// - Ref: [Time Ontology in OWL](https://www.w3.org/TR/owl-time/) section 4.2.33
    IntervalOverlaps,

    /// refers to a resource associated with a time interval whose beginning coincides with the beginning of the time interval associated with the context resource, and ends before the end of the time interval associated with the context resource
    /// - Original name: **intervalstartedby**.
    /// - Ref: [Time Ontology in OWL](https://www.w3.org/TR/owl-time/) section 4.2.34
    IntervalStartedBy,

    /// refers to a resource associated with a time interval whose beginning coincides with the beginning of the time interval associated with the context resource, and ends after the end of the time interval associated with the context resource
    /// - Original name: **intervalstarts**.
    /// - Ref: [Time Ontology in OWL](https://www.w3.org/TR/owl-time/) section 4.2.35
    IntervalStarts,

    /// The target IRI points to a resource that is a member of the collection represented by the context IRI.
    /// - Original name: **item**.
    /// - Ref: [RFC6573](https://datatracker.ietf.org/doc/html/RFC6573)
    Item,

    /// An IRI that refers to the furthest following resource in a series of resources.
    /// - Original name: **last**.
    /// - Ref: [RFC8288](https://datatracker.ietf.org/doc/html/RFC8288)
    /// - Notes: This relation type registration did not indicate a reference. Originally requested by Mark Nottingham in December 2004.
    Last,

    /// Points to a resource containing the latest (e.g., current) version of the context.
    /// - Original name: **latest-version**.
    /// - Ref: [RFC5829](https://datatracker.ietf.org/doc/html/RFC5829)
    LatestVersion,

    /// Refers to a license associated with this context.
    /// - Original name: **license**.
    /// - Ref: [RFC4946](https://datatracker.ietf.org/doc/html/RFC4946)
    /// - Notes: For implications of use in HTML, see: <http://www.w3.org/TR/html5/links.html#link-type-license>
    License,

    /// The link target of a link with the "linkset" relation type provides a set of links, including links in which the link context of the link participates.
    /// - Original name: **linkset**.
    /// - Ref: [RFC9264](https://datatracker.ietf.org/doc/html/RFC9264)
    Linkset,

    /// Refers to further information about the link's context, expressed as a LRDD ("Link-based Resource Descriptor Document") resource.  See [RFC6415](https://datatracker.ietf.org/doc/html/RFC6415) for information about processing this relation type in host-meta documents. When used elsewhere, it refers to additional links and other metadata. Multiple instances indicate additional LRDD resources. LRDD resources MUST have an "application/xrd+xml" representation, and MAY have others.
    /// - Original name: **lrdd**.
    /// - Ref: [RFC6415](https://datatracker.ietf.org/doc/html/RFC6415)
    Lrdd,

    /// Links to a manifest file for the context.
    /// - Original name: **manifest**.
    /// - Ref: [Web App Manifest](https://www.w3.org/TR/appmanifest/)
    Manifest,

    /// Refers to a mask that can be applied to the icon for the context.
    /// - Original name: **mask-icon**.
    /// - Ref: [Creating Pinned Tab Icons](https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/pinnedTabs/pinnedTabs.html)
    MaskIcon,

    /// Links to a resource about the author of the link's context.
    /// - Original name: **me**.
    /// - Ref: <https://microformats.org/wiki/rel-me>
    /// - Notes: See also 'author'
    Me,

    /// Refers to a feed of personalised media recommendations relevant to the link context.
    /// - Original name: **media-feed**.
    /// - Ref: <https://wicg.github.io/media-feeds/#discovery-of-media-feeds>
    MediaFeed,

    /// The Target IRI points to a Memento, a fixed resource that will not change state anymore.
    /// - Original name: **memento**.
    /// - Ref: [RFC7089](https://datatracker.ietf.org/doc/html/RFC7089)
    /// - Notes: A Memento for an Original Resource is a resource that encapsulates a prior state of the Original Resource.
    Memento,

    /// Links to the context's Micropub endpoint.
    /// - Original name: **micropub**.
    /// - Ref: [Micropub](https://www.w3.org/TR/micropub/)
    Micropub,

    /// Refers to a module that the user agent is to preemptively fetch and store for use in the current context.
    /// - Original name: **modulepreload**.
    /// - Ref: [HTML](https://html.spec.whatwg.org/)
    ModulePreload,

    /// Refers to a resource that can be used to monitor changes in an HTTP resource.
    /// - Original name: **monitor**.
    /// - Ref: [RFC5989](https://datatracker.ietf.org/doc/html/RFC5989)
    Monitor,

    /// Refers to a resource that can be used to monitor changes in a specified group of HTTP resources.
    /// - Original name: **monitor-group**.
    /// - Ref: [RFC5989](https://datatracker.ietf.org/doc/html/RFC5989)
    MonitorGroup,

    /// Indicates that the link's context is a part of a series, and that the next in the series is the link target.
    /// - Original name: **next**.
    /// - Ref: [HTML](https://html.spec.whatwg.org/)
    Next,

    /// Refers to the immediately following archive resource.
    /// - Original name: **next-archive**.
    /// - Ref: [RFC5005](https://datatracker.ietf.org/doc/html/RFC5005)
    NextArchive,

    /// Indicates that the context’s original author or publisher does not endorse the link target.
    /// - Original name: **nofollow**.
    /// - Ref: [HTML](https://html.spec.whatwg.org/)
    NoFollow,

    /// Indicates that any newly created top-level browsing context which results from following the link will not be an auxiliary browsing context.
    /// - Original name: **noopener**.
    /// - Ref: [HTML](https://html.spec.whatwg.org/)
    NoOpener,

    /// Indicates that no referrer information is to be leaked when following the link.
    /// - Original name: **noreferrer**.
    /// - Ref: [HTML](https://html.spec.whatwg.org/)
    NoReferrer,

    /// Indicates that any newly created top-level browsing context which results from following the link will be an auxiliary browsing context.
    /// - Original name: **opener**.
    /// - Ref: [HTML](https://html.spec.whatwg.org/)
    Opener,

    /// Refers to an OpenID Authentication server on which the context relies for an assertion that the end user controls an Identifier.
    /// - Original name: **openid2.local_id**.
    /// - Ref: [OpenID Authentication 2.0 - Final](https://openid.net/specs/openid-authentication-2_0.html)
    OpenID2LocalID,

    /// Refers to a resource which accepts OpenID Authentication protocol messages for the context.
    /// - Original name: **openid2.provider**.
    /// - Ref: [OpenID Authentication 2.0 - Final](https://openid.net/specs/openid-authentication-2_0.html)
    OpenID2Provider,

    /// The Target IRI points to an Original Resource.
    /// - Original name: **original**.
    /// - Ref: [RFC7089](https://datatracker.ietf.org/doc/html/RFC7089)
    /// - Notes: An Original Resource is a resource that exists or used to exist, and for which access to one of its prior states may be required.
    Original,

    /// Refers to a P3P privacy policy for the context.
    /// - Original name: **p3pv1**.
    /// - Ref: [The Platform for Privacy Preferences 1.0 (P3P1.0) Specification](https://www.w3.org/TR/P3P/)
    P3Pv1,

    /// Indicates a resource where payment is accepted.
    /// - Original name: **payment**.
    /// - Ref: [RFC8288](https://datatracker.ietf.org/doc/html/RFC8288)
    /// - Notes: This relation type registration did not indicate a reference.  Requested by Joshua Kinberg and Robert Sayre.  It is meant as a general way to facilitate acts of payment, and thus this specification makes no assumptions on the type of payment or transaction protocol.  Examples may include a web page where donations are accepted or where goods and services are available for purchase. rel="payment" is not intended to initiate an automated transaction.  In Atom documents, a link element with a rel="payment" attribute may exist at the feed/channel level and/or the entry/item level.  For example, a rel="payment" link at the feed/channel level may point to a "tip jar" URI, whereas an entry/ item containing a book review may include a rel="payment" link that points to the location where the book may be purchased through an online retailer.
    Payment,

    /// Gives the address of the pingback resource for the link context.
    /// - Original name: **pingback**.
    /// - Ref: [Pingback 1.0](https://www.hixie.ch/specs/pingback/pingback-1.0)
    Pingback,

    /// Used to indicate an origin that will be used to fetch required resources for the link context. Initiating an early connection, which includes the DNS lookup, TCP handshake, and optional TLS negotiation, allows the user agent to mask the high latency costs of establishing a connection.
    /// - Original name: **preconnect**.
    /// - Ref: [HTML](https://html.spec.whatwg.org/)
    Preconnect,

    /// Points to a resource containing the predecessor version in the version history.
    /// - Original name: **predecessor-version**.
    /// - Ref: [RFC5829](https://datatracker.ietf.org/doc/html/RFC5829)
    PredecessorVersion,

    /// The prefetch link relation type is used to identify a resource that might be required by the next navigation from the link context, and that the user agent ought to fetch, such that the user agent can deliver a faster response once the resource is requested in the future.
    /// - Original name: **prefetch**.
    /// - Ref: [HTML](https://html.spec.whatwg.org/)
    Prefetch,

    /// Refers to a resource that should be loaded early in the processing of the link's context, without blocking rendering.
    /// - Original name: **preload**.
    /// - Ref: [Preload](https://www.w3.org/TR/preload/)
    /// - Notes: Additional target attributes establish the detailed fetch properties of the link.
    Preload,

    /// Used to identify a resource that might be required by the next navigation from the link context, and that the user agent ought to fetch and execute, such that the user agent can deliver a faster response once the resource is requested in the future.
    /// - Original name: **prerender**.
    /// - Ref: [Resource Hints](https://www.w3.org/TR/resource-hints/)
    Prerender,

    /// Indicates that the link's context is a part of a series, and that the previous in the series is the link target.
    /// - Original name: **prev**.
    /// - Ref: [HTML](https://html.spec.whatwg.org/)
    Prev,

    /// Refers to a resource that provides a preview of the link's context.
    /// - Original name: **preview**.
    /// - Ref: [RFC6903](https://datatracker.ietf.org/doc/html/RFC6903), section 3
    Preview,

    /// Refers to the previous resource in an ordered series of resources.  Synonym for "prev".
    /// - Original name: **previous**.
    /// - Ref: [HTML 4.01 Specification](https://www.w3.org/TR/html401/)
    Previous,

    /// Refers to the immediately preceding archive resource.
    /// - Original name: **prev-archive**.
    /// - Ref: [RFC5005](https://datatracker.ietf.org/doc/html/RFC5005)
    PrevArchive,

    /// Refers to a privacy policy associated with the link's context.
    /// - Original name: **privacy-policy**.
    /// - Ref: [RFC6903](https://datatracker.ietf.org/doc/html/RFC6903), section 4
    PrivacyPolicy,

    /// Identifying that a resource representation conforms to a certain profile, without affecting the non-profile semantics of the resource representation.
    /// - Original name: **profile**.
    /// - Ref: [RFC6906](https://datatracker.ietf.org/doc/html/RFC6906)
    /// - Notes: Profile URIs are primarily intended to be used as identifiers, and thus clients SHOULD NOT indiscriminately access profile URIs.
    Profile,

    /// Links to a publication manifest. A manifest represents structured information about a publication, such as informative metadata, a list of resources, and a default reading order.
    /// - Original name: **publication**.
    /// - Ref: [Publication Manifest](https://www.w3.org/TR/pub-manifest/)
    Publication,

    /// Identifies a related resource.
    /// - Original name: **related**.
    /// - Ref: [RFC4287](https://datatracker.ietf.org/doc/html/RFC4287)
    Related,

    /// Identifies the root of RESTCONF API as configured on this HTTP server. The "restconf" relation defines the root of the API defined in RFC8040. Subsequent revisions of RESTCONF will use alternate relation values to support protocol versioning.
    /// - Original name: **restconf**.
    /// - Ref: [RFC8040](https://datatracker.ietf.org/doc/html/RFC8040)
    RESTCONF,

    /// Identifies a resource that is a reply to the context of the link.
    /// - Original name: **replies**.
    /// - Ref: [RFC4685](https://datatracker.ietf.org/doc/html/RFC4685)
    Replies,

    /// The resource identified by the link target provides an input value to an instance of a rule, where the resource which represents the rule instance is identified by the link context.
    /// - Original name: **ruleinput**.
    /// - Ref: [OCF Core Optional 2.2.0](https://openconnectivity.org/specs/OCF_Core_Optional_Specification.pdf)
    Ruleinput,

    /// Refers to a resource that can be used to search through the link's context and related resources.
    /// - Original name: **search**.
    /// - Ref: [OpenSearch](https://opensearch.org)
    Search,

    /// Refers to a section in a collection of resources.
    /// - Original name: **section**.
    /// - Ref: [HTML 4.01 Specification](https://www.w3.org/TR/html401/)
    Section,

    /// Conveys an identifier for the link's context.
    /// - Original name: **self**.
    /// - Ref: [RFC4287](https://datatracker.ietf.org/doc/html/RFC4287)
    SelfVariant,

    /// Indicates a URI that can be used to retrieve a service document.
    /// - Original name: **service**.
    /// - Ref: [RFC5023](https://datatracker.ietf.org/doc/html/RFC5023)
    /// - Notes: When used in an Atom document, this relation type specifies Atom Publishing Protocol service documents by default.  Requested by James Snell.
    Service,

    /// Identifies service description for the context that is primarily intended for consumption by machines.
    /// - Original name: **service-desc**.
    /// - Ref: [RFC8631](https://datatracker.ietf.org/doc/html/RFC8631)
    ServiceDesc,

    /// Identifies service documentation for the context that is primarily intended for human consumption.
    /// - Original name: **service-doc**.
    /// - Ref: [RFC8631](https://datatracker.ietf.org/doc/html/RFC8631)
    ServiceDoc,

    /// Identifies general metadata for the context that is primarily intended for consumption by machines.
    /// - Original name: **service-meta**.
    /// - Ref: [RFC8631](https://datatracker.ietf.org/doc/html/RFC8631)
    ServiceMeta,

    /// Refers to a capability set document that defines parameters or configuration requirements for automated peering and communication-channel negotiation of the Session Initiation Protocol (SIP).
    /// - Original name: **sip-trunking-capability**.
    /// - Ref: [RFC9409](https://datatracker.ietf.org/doc/html/RFC9409)
    SipTrunkingCapability,

    /// Refers to a resource that is within a context that is sponsored (such as advertising or another compensation agreement).
    /// - Original name: **sponsored**.
    /// - Ref: [Google Blog post 09-2019](https://developers.google.com/search/blog/2019/09/evolving-nofollow-new-ways-to-identify)
    Sponsored,

    /// Refers to the first resource in a collection of resources.
    /// - Original name: **start**.
    /// - Ref: [HTML 4.01 Specification](https://www.w3.org/TR/html401/)
    Start,

    /// Identifies a resource that represents the context's status.
    /// - Original name: **status**.
    /// - Ref: [RFC8631](https://datatracker.ietf.org/doc/html/RFC8631)
    Status,

    /// Refers to a stylesheet.
    /// - Original name: **stylesheet**.
    /// - Ref: [HTML](https://html.spec.whatwg.org/)
    Stylesheet,

    /// Refers to a resource serving as a subsection in a collection of resources.
    /// - Original name: **subsection**.
    /// - Ref: [HTML 4.01 Specification](https://www.w3.org/TR/html401/)
    Subsection,

    /// Points to a resource containing the successor version in the version history.
    /// - Original name: **successor-version**.
    /// - Ref: [RFC5829](https://datatracker.ietf.org/doc/html/RFC5829)
    SuccessorVersion,

    /// Identifies a resource that provides information about the context's retirement policy.
    /// - Original name: **sunset**.
    /// - Ref: [RFC8594](https://datatracker.ietf.org/doc/html/RFC8594)
    Sunset,

    /// Gives a tag (identified by the given address) that applies to the current document.
    /// - Original name: **tag**.
    /// - Ref: [HTML](https://html.spec.whatwg.org/)
    Tag,

    /// Refers to the terms of service associated with the link's context.
    /// - Original name: **terms-of-service**.
    /// - Ref: [RFC6903](https://datatracker.ietf.org/doc/html/RFC6903), section 5
    TermsOfService,

    /// The Target IRI points to a TimeGate for an Original Resource.
    /// - Original name: **timegate**.
    /// - Ref: [RFC7089](https://datatracker.ietf.org/doc/html/RFC7089)
    /// - Notes: A TimeGate for an Original Resource is a resource that is capable of datetime negotiation to support access to prior states of the Original Resource.
    TimeGate,

    /// The Target IRI points to a TimeMap for an Original Resource.
    /// - Original name: **timemap**.
    /// - Ref: [RFC7089](https://datatracker.ietf.org/doc/html/RFC7089)
    /// - Notes: A TimeMap for an Original Resource is a resource from which a list of URIs of Mementos of the Original Resource is available.
    TimeMap,

    /// Refers to a resource identifying the abstract semantic type of which the link's context is considered to be an instance.
    /// - Original name: **type**.
    /// - Ref: [RFC6903](https://datatracker.ietf.org/doc/html/RFC6903), section 6
    Type,

    /// Refers to a resource that is within a context that is User Generated Content.
    /// - Original name: **ugc**.
    /// - Ref: [Google Blog post 09-2019](https://developers.google.com/search/blog/2019/09/evolving-nofollow-new-ways-to-identify)
    UGC,

    /// Refers to a parent document in a hierarchy of documents.
    /// - Original name: **up**.
    /// - Ref: [RFC8288](https://datatracker.ietf.org/doc/html/RFC8288)
    /// - Notes: This relation type registration did not indicate a reference.  Requested by Noah Slater.
    Up,

    /// Points to a resource containing the version history for the context.
    /// - Original name: **version-history**.
    /// - Ref: [RFC5829](https://datatracker.ietf.org/doc/html/RFC5829)
    VersionHistory,

    /// Identifies a resource that is the source of the information in the link's context.
    /// - Original name: **via**.
    /// - Ref: [RFC4287](https://datatracker.ietf.org/doc/html/RFC4287)
    Via,

    /// Identifies a target URI that supports the Webmention protocol. This allows clients that mention a resource in some form of publishing process to contact that endpoint and inform it that this resource has been mentioned.
    /// - Original name: **webmention**.
    /// - Ref: [Webmention](https://www.w3.org/TR/webmention/)
    /// - Notes: This is a similar "Linkback" mechanism to the ones of Refback, Trackback, and Pingback. It uses a different protocol, though, and thus should be discoverable through its own link relation type.
    WebMention,

    /// Points to a working copy for this resource.
    /// - Original name: **working-copy**.
    /// - Ref: [RFC5829](https://datatracker.ietf.org/doc/html/RFC5829)
    WorkingCopy,

    /// Points to the versioned resource from which this working copy was obtained.
    /// - Original name: **working-copy-of**.
    /// - Ref: [RFC5829](https://datatracker.ietf.org/doc/html/RFC5829)
    WorkingCopyOf,
}

use crate::LinkRelationDetails;
use std::collections::HashMap;
use std::sync::LazyLock;
// Disable IntelliJ IDEA's spellcheck for the following part
// noinspection SpellCheckingInspection GrazieInspection
/// Raw link relation registry data, 127 entries available.
pub static LINK_RELATIONS: LazyLock<HashMap<LinkRelation, LinkRelationDetails>> = LazyLock::new(
    || {
        HashMap::from([
            (LinkRelation::About, LinkRelationDetails { name: r#"about"#.to_string(), description: r#"Refers to a resource that is the subject of the link's context."#.to_string(), reference: r#"[RFC6903](https://datatracker.ietf.org/doc/html/RFC6903), section 2"#.to_string(), notes: None }),
            (LinkRelation::ACL, LinkRelationDetails { name: r#"acl"#.to_string(), description: r#"Asserts that the link target provides an access control resource for the link context."#.to_string(), reference: r#"<https://solidproject.org/TR/wac#acl-link-relation>"#.to_string(), notes: None }),
            (LinkRelation::Alternate, LinkRelationDetails { name: r#"alternate"#.to_string(), description: r#"Refers to a substitute for this context"#.to_string(), reference: r#"[HTML](https://html.spec.whatwg.org/)"#.to_string(), notes: None }),
            (LinkRelation::AMPHTML, LinkRelationDetails { name: r#"amphtml"#.to_string(), description: r#"Used to reference alternative content that uses the AMP profile of the HTML format."#.to_string(), reference: r#"[AMP HTML](https://amp.dev/documentation/guides-and-tutorials/learn/spec/amphtml)"#.to_string(), notes: None }),
            (LinkRelation::APICatalog, LinkRelationDetails { name: r#"api-catalog"#.to_string(), description: r#"Refers to a list of APIs available from the publisher of the link context."#.to_string(), reference: r#"[RFC-ietf-httpapi-api-catalog-08](https://datatracker.ietf.org/doc/html/draft-ietf-httpapi-api-catalog-08)"#.to_string(), notes: None }),
            (LinkRelation::Appendix, LinkRelationDetails { name: r#"appendix"#.to_string(), description: r#"Refers to an appendix."#.to_string(), reference: r#"[HTML 4.01 Specification](https://www.w3.org/TR/html401/)"#.to_string(), notes: None }),
            (LinkRelation::AppleTouchIcon, LinkRelationDetails { name: r#"apple-touch-icon"#.to_string(), description: r#"Refers to an icon for the context. Synonym for icon."#.to_string(), reference: r#"[Configuring Web Applications](https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html)"#.to_string(), notes: None }),
            (LinkRelation::AppleTouchStartupImage, LinkRelationDetails { name: r#"apple-touch-startup-image"#.to_string(), description: r#"Refers to a launch screen for the context."#.to_string(), reference: r#"[Configuring Web Applications](https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html)"#.to_string(), notes: None }),
            (LinkRelation::Archives, LinkRelationDetails { name: r#"archives"#.to_string(), description: r#"Refers to a collection of records, documents, or other materials of historical interest."#.to_string(), reference: r#"[HTML5](https://www.w3.org/TR/html5/)"#.to_string(), notes: None }),
            (LinkRelation::Author, LinkRelationDetails { name: r#"author"#.to_string(), description: r#"Refers to the context's author."#.to_string(), reference: r#"[HTML](https://html.spec.whatwg.org/)"#.to_string(), notes: Some(r#"See also 'me'"#.to_string()) }),
            (LinkRelation::BlockedBy, LinkRelationDetails { name: r#"blocked-by"#.to_string(), description: r#"Identifies the entity that blocks access to a resource following receipt of a legal demand."#.to_string(), reference: r#"[RFC7725](https://datatracker.ietf.org/doc/html/RFC7725)"#.to_string(), notes: None }),
            (LinkRelation::Bookmark, LinkRelationDetails { name: r#"bookmark"#.to_string(), description: r#"Gives a permanent link to use for bookmarking purposes."#.to_string(), reference: r#"[HTML](https://html.spec.whatwg.org/)"#.to_string(), notes: None }),
            (LinkRelation::C2PAManifest, LinkRelationDetails { name: r#"c2pa-manifest"#.to_string(), description: r#"This link relation identifies the C2PA Manifest associated with the link context"#.to_string(), reference: r#"[Content Credentials : C2PA Technical Specification](https://c2pa.org/specifications/specifications/2.1/specs/C2PA_Specification.html)"#.to_string(), notes: None }),
            (LinkRelation::Canonical, LinkRelationDetails { name: r#"canonical"#.to_string(), description: r#"Designates the preferred version of a resource (the IRI and its contents)."#.to_string(), reference: r#"[RFC6596](https://datatracker.ietf.org/doc/html/RFC6596)"#.to_string(), notes: None }),
            (LinkRelation::Chapter, LinkRelationDetails { name: r#"chapter"#.to_string(), description: r#"Refers to a chapter in a collection of resources."#.to_string(), reference: r#"[HTML 4.01 Specification](https://www.w3.org/TR/html401/)"#.to_string(), notes: None }),
            (LinkRelation::CiteAs, LinkRelationDetails { name: r#"cite-as"#.to_string(), description: r#"Indicates that the link target is preferred over the link context for the purpose of permanent citation."#.to_string(), reference: r#"[RFC8574](https://datatracker.ietf.org/doc/html/RFC8574)"#.to_string(), notes: None }),
            (LinkRelation::Collection, LinkRelationDetails { name: r#"collection"#.to_string(), description: r#"The target IRI points to a resource which represents the collection resource for the context IRI."#.to_string(), reference: r#"[RFC6573](https://datatracker.ietf.org/doc/html/RFC6573)"#.to_string(), notes: None }),
            (LinkRelation::CompressionDictionary, LinkRelationDetails { name: r#"compression-dictionary"#.to_string(), description: r#"Refers to a compression dictionary used for content encoding."#.to_string(), reference: r#"[RFC-ietf-httpbis-compression-dictionary-19](https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-compression-dictionary-19)"#.to_string(), notes: None }),
            (LinkRelation::Contents, LinkRelationDetails { name: r#"contents"#.to_string(), description: r#"Refers to a table of contents."#.to_string(), reference: r#"[HTML 4.01 Specification](https://www.w3.org/TR/html401/)"#.to_string(), notes: None }),
            (LinkRelation::ConvertedFrom, LinkRelationDetails { name: r#"convertedfrom"#.to_string(), description: r#"The document linked to was later converted to the document that contains this link relation.  For example, an RFC can have a link to the Internet-Draft that became the RFC; in that case, the link relation would be "convertedFrom"."#.to_string(), reference: r#"[RFC7991](https://datatracker.ietf.org/doc/html/RFC7991)"#.to_string(), notes: Some(r#"This relation is different than "predecessor-version" in that "predecessor-version" is for items in a version control system.  It is also different than "previous" in that this relation is used for converted resources, not those that are part of a sequence of resources."#.to_string()) }),
            (LinkRelation::Copyright, LinkRelationDetails { name: r#"copyright"#.to_string(), description: r#"Refers to a copyright statement that applies to the link's context."#.to_string(), reference: r#"[HTML 4.01 Specification](https://www.w3.org/TR/html401/)"#.to_string(), notes: None }),
            (LinkRelation::CreateForm, LinkRelationDetails { name: r#"create-form"#.to_string(), description: r#"The target IRI points to a resource where a submission form can be obtained."#.to_string(), reference: r#"[RFC6861](https://datatracker.ietf.org/doc/html/RFC6861)"#.to_string(), notes: None }),
            (LinkRelation::Current, LinkRelationDetails { name: r#"current"#.to_string(), description: r#"Refers to a resource containing the most recent item(s) in a collection of resources."#.to_string(), reference: r#"[RFC5005](https://datatracker.ietf.org/doc/html/RFC5005)"#.to_string(), notes: None }),
            (LinkRelation::Deprecation, LinkRelationDetails { name: r#"deprecation"#.to_string(), description: r#"Refers to a resource that is documentation (intended for human consumption) about the deprecation of the link's context."#.to_string(), reference: r#"[RFC-ietf-httpapi-deprecation-header-09](https://datatracker.ietf.org/doc/html/draft-ietf-httpapi-deprecation-header-09), section 3"#.to_string(), notes: None }),
            (LinkRelation::Describedby, LinkRelationDetails { name: r#"describedby"#.to_string(), description: r#"Refers to a resource providing information about the link's context."#.to_string(), reference: r#"[Protocol for Web Description Resources (POWDER)](https://www.w3.org/TR/powder-dr/)"#.to_string(), notes: None }),
            (LinkRelation::Describes, LinkRelationDetails { name: r#"describes"#.to_string(), description: r#"The relationship A 'describes' B asserts that resource A provides a description of resource B. There are no constraints on the format or representation of either A or B, neither are there any further constraints on either resource."#.to_string(), reference: r#"[RFC6892](https://datatracker.ietf.org/doc/html/RFC6892)"#.to_string(), notes: Some(r#"This link relation type is the inverse of the 'describedby' relation type.  While 'describedby' establishes a relation from the described resource back to the resource that describes it, 'describes' established a relation from the describing resource to the resource it describes.  If B is 'describedby' A, then A 'describes' B."#.to_string()) }),
            (LinkRelation::Disclosure, LinkRelationDetails { name: r#"disclosure"#.to_string(), description: r#"Refers to a list of patent disclosures made with respect to material for which 'disclosure' relation is specified."#.to_string(), reference: r#"[RFC6579](https://datatracker.ietf.org/doc/html/RFC6579)"#.to_string(), notes: None }),
            (LinkRelation::DnsPrefetch, LinkRelationDetails { name: r#"dns-prefetch"#.to_string(), description: r#"Used to indicate an origin that will be used to fetch required resources for the link context, and that the user agent ought to resolve as early as possible."#.to_string(), reference: r#"[HTML](https://html.spec.whatwg.org/)"#.to_string(), notes: None }),
            (LinkRelation::Duplicate, LinkRelationDetails { name: r#"duplicate"#.to_string(), description: r#"Refers to a resource whose available representations are byte-for-byte identical with the corresponding representations of the context IRI."#.to_string(), reference: r#"[RFC6249](https://datatracker.ietf.org/doc/html/RFC6249)"#.to_string(), notes: Some(r#"This relation is for static resources.  That is, an HTTP GET request on any duplicate will return the same representation.  It does not make sense for dynamic or POSTable resources and should not be used for them."#.to_string()) }),
            (LinkRelation::Edit, LinkRelationDetails { name: r#"edit"#.to_string(), description: r#"Refers to a resource that can be used to edit the link's context."#.to_string(), reference: r#"[RFC5023](https://datatracker.ietf.org/doc/html/RFC5023)"#.to_string(), notes: None }),
            (LinkRelation::EditForm, LinkRelationDetails { name: r#"edit-form"#.to_string(), description: r#"The target IRI points to a resource where a submission form for editing associated resource can be obtained."#.to_string(), reference: r#"[RFC6861](https://datatracker.ietf.org/doc/html/RFC6861)"#.to_string(), notes: None }),
            (LinkRelation::EditMedia, LinkRelationDetails { name: r#"edit-media"#.to_string(), description: r#"Refers to a resource that can be used to edit media associated with the link's context."#.to_string(), reference: r#"[RFC5023](https://datatracker.ietf.org/doc/html/RFC5023)"#.to_string(), notes: None }),
            (LinkRelation::Enclosure, LinkRelationDetails { name: r#"enclosure"#.to_string(), description: r#"Identifies a related resource that is potentially large and might require special handling."#.to_string(), reference: r#"[RFC4287](https://datatracker.ietf.org/doc/html/RFC4287)"#.to_string(), notes: None }),
            (LinkRelation::External, LinkRelationDetails { name: r#"external"#.to_string(), description: r#"Refers to a resource that is not part of the same site as the current context."#.to_string(), reference: r#"[HTML](https://html.spec.whatwg.org/)"#.to_string(), notes: None }),
            (LinkRelation::First, LinkRelationDetails { name: r#"first"#.to_string(), description: r#"An IRI that refers to the furthest preceding resource in a series of resources."#.to_string(), reference: r#"[RFC8288](https://datatracker.ietf.org/doc/html/RFC8288)"#.to_string(), notes: Some(r#"This relation type registration did not indicate a reference.  Originally requested by Mark Nottingham in December 2004."#.to_string()) }),
            (LinkRelation::Glossary, LinkRelationDetails { name: r#"glossary"#.to_string(), description: r#"Refers to a glossary of terms."#.to_string(), reference: r#"[HTML 4.01 Specification](https://www.w3.org/TR/html401/)"#.to_string(), notes: None }),
            (LinkRelation::Help, LinkRelationDetails { name: r#"help"#.to_string(), description: r#"Refers to context-sensitive help."#.to_string(), reference: r#"[HTML](https://html.spec.whatwg.org/)"#.to_string(), notes: None }),
            (LinkRelation::Hosts, LinkRelationDetails { name: r#"hosts"#.to_string(), description: r#"Refers to a resource hosted by the server indicated by the link context."#.to_string(), reference: r#"[RFC6690](https://datatracker.ietf.org/doc/html/RFC6690)"#.to_string(), notes: Some(r#"This relation is used in CoRE where links are retrieved as a "/.well-known/core" resource representation, and is the default relation type in the CoRE Link Format."#.to_string()) }),
            (LinkRelation::Hub, LinkRelationDetails { name: r#"hub"#.to_string(), description: r#"Refers to a hub that enables registration for notification of updates to the context."#.to_string(), reference: r#"[WebSub](https://www.w3.org/TR/websub/)"#.to_string(), notes: Some(r#"This relation type was requested by Brett Slatkin."#.to_string()) }),
            (LinkRelation::ICEServer, LinkRelationDetails { name: r#"ice-server"#.to_string(), description: r#"Conveys the STUN and TURN servers that can be used by an ICE Agent to establish a connection with a peer."#.to_string(), reference: r#"[RFC-ietf-wish-whip-16](https://datatracker.ietf.org/doc/html/draft-ietf-wish-whip-16)"#.to_string(), notes: None }),
            (LinkRelation::Icon, LinkRelationDetails { name: r#"icon"#.to_string(), description: r#"Refers to an icon representing the link's context."#.to_string(), reference: r#"[HTML](https://html.spec.whatwg.org/)"#.to_string(), notes: None }),
            (LinkRelation::Index, LinkRelationDetails { name: r#"index"#.to_string(), description: r#"Refers to an index."#.to_string(), reference: r#"[HTML 4.01 Specification](https://www.w3.org/TR/html401/)"#.to_string(), notes: None }),
            (LinkRelation::IntervalAfter, LinkRelationDetails { name: r#"intervalafter"#.to_string(), description: r#"refers to a resource associated with a time interval that ends before the beginning of the time interval associated with the context resource"#.to_string(), reference: r#"[Time Ontology in OWL](https://www.w3.org/TR/owl-time/) section 4.2.21"#.to_string(), notes: None }),
            (LinkRelation::IntervalBefore, LinkRelationDetails { name: r#"intervalbefore"#.to_string(), description: r#"refers to a resource associated with a time interval that begins after the end of the time interval associated with the context resource"#.to_string(), reference: r#"[Time Ontology in OWL](https://www.w3.org/TR/owl-time/) section 4.2.22"#.to_string(), notes: None }),
            (LinkRelation::IntervalContains, LinkRelationDetails { name: r#"intervalcontains"#.to_string(), description: r#"refers to a resource associated with a time interval that begins after the beginning of the time interval associated with the context resource, and ends before the end of the time interval associated with the context resource"#.to_string(), reference: r#"[Time Ontology in OWL](https://www.w3.org/TR/owl-time/) section 4.2.23"#.to_string(), notes: None }),
            (LinkRelation::IntervalDisjoint, LinkRelationDetails { name: r#"intervaldisjoint"#.to_string(), description: r#"refers to a resource associated with a time interval that begins after the end of the time interval associated with the context resource, or ends before the beginning of the time interval associated with the context resource"#.to_string(), reference: r#"[Time Ontology in OWL](https://www.w3.org/TR/owl-time/) section 4.2.24"#.to_string(), notes: None }),
            (LinkRelation::IntervalDuring, LinkRelationDetails { name: r#"intervalduring"#.to_string(), description: r#"refers to a resource associated with a time interval that begins before the beginning of the time interval associated with the context resource, and ends after the end of the time interval associated with the context resource"#.to_string(), reference: r#"[Time Ontology in OWL](https://www.w3.org/TR/owl-time/) section 4.2.25"#.to_string(), notes: None }),
            (LinkRelation::IntervalEquals, LinkRelationDetails { name: r#"intervalequals"#.to_string(), description: r#"refers to a resource associated with a time interval whose beginning coincides with the beginning of the time interval associated with the context resource, and whose end coincides with the end of the time interval associated with the context resource"#.to_string(), reference: r#"[Time Ontology in OWL](https://www.w3.org/TR/owl-time/) section 4.2.26"#.to_string(), notes: None }),
            (LinkRelation::IntervalFinishedBy, LinkRelationDetails { name: r#"intervalfinishedby"#.to_string(), description: r#"refers to a resource associated with a time interval that begins after the beginning of the time interval associated with the context resource, and whose end coincides with the end of the time interval associated with the context resource"#.to_string(), reference: r#"[Time Ontology in OWL](https://www.w3.org/TR/owl-time/) section 4.2.27"#.to_string(), notes: None }),
            (LinkRelation::IntervalFinishes, LinkRelationDetails { name: r#"intervalfinishes"#.to_string(), description: r#"refers to a resource associated with a time interval that begins before the beginning of the time interval associated with the context resource, and whose end coincides with the end of the time interval associated with the context resource"#.to_string(), reference: r#"[Time Ontology in OWL](https://www.w3.org/TR/owl-time/) section 4.2.28"#.to_string(), notes: None }),
            (LinkRelation::IntervalIn, LinkRelationDetails { name: r#"intervalin"#.to_string(), description: r#"refers to a resource associated with a time interval that begins before or is coincident with the beginning of the time interval associated with the context resource, and ends after or is coincident with the end of the time interval associated with the context resource"#.to_string(), reference: r#"[Time Ontology in OWL](https://www.w3.org/TR/owl-time/) section 4.2.29"#.to_string(), notes: None }),
            (LinkRelation::IntervalMeets, LinkRelationDetails { name: r#"intervalmeets"#.to_string(), description: r#"refers to a resource associated with a time interval whose beginning coincides with the end of the time interval associated with the context resource"#.to_string(), reference: r#"[Time Ontology in OWL](https://www.w3.org/TR/owl-time/) section 4.2.30"#.to_string(), notes: None }),
            (LinkRelation::IntervalMetBy, LinkRelationDetails { name: r#"intervalmetby"#.to_string(), description: r#"refers to a resource associated with a time interval whose end coincides with the beginning of the time interval associated with the context resource"#.to_string(), reference: r#"[Time Ontology in OWL](https://www.w3.org/TR/owl-time/) section 4.2.31"#.to_string(), notes: None }),
            (LinkRelation::IntervalOverlappedBy, LinkRelationDetails { name: r#"intervaloverlappedby"#.to_string(), description: r#"refers to a resource associated with a time interval that begins before the beginning of the time interval associated with the context resource, and ends after the beginning of the time interval associated with the context resource"#.to_string(), reference: r#"[Time Ontology in OWL](https://www.w3.org/TR/owl-time/) section 4.2.32"#.to_string(), notes: None }),
            (LinkRelation::IntervalOverlaps, LinkRelationDetails { name: r#"intervaloverlaps"#.to_string(), description: r#"refers to a resource associated with a time interval that begins before the end of the time interval associated with the context resource, and ends after the end of the time interval associated with the context resource"#.to_string(), reference: r#"[Time Ontology in OWL](https://www.w3.org/TR/owl-time/) section 4.2.33"#.to_string(), notes: None }),
            (LinkRelation::IntervalStartedBy, LinkRelationDetails { name: r#"intervalstartedby"#.to_string(), description: r#"refers to a resource associated with a time interval whose beginning coincides with the beginning of the time interval associated with the context resource, and ends before the end of the time interval associated with the context resource"#.to_string(), reference: r#"[Time Ontology in OWL](https://www.w3.org/TR/owl-time/) section 4.2.34"#.to_string(), notes: None }),
            (LinkRelation::IntervalStarts, LinkRelationDetails { name: r#"intervalstarts"#.to_string(), description: r#"refers to a resource associated with a time interval whose beginning coincides with the beginning of the time interval associated with the context resource, and ends after the end of the time interval associated with the context resource"#.to_string(), reference: r#"[Time Ontology in OWL](https://www.w3.org/TR/owl-time/) section 4.2.35"#.to_string(), notes: None }),
            (LinkRelation::Item, LinkRelationDetails { name: r#"item"#.to_string(), description: r#"The target IRI points to a resource that is a member of the collection represented by the context IRI."#.to_string(), reference: r#"[RFC6573](https://datatracker.ietf.org/doc/html/RFC6573)"#.to_string(), notes: None }),
            (LinkRelation::Last, LinkRelationDetails { name: r#"last"#.to_string(), description: r#"An IRI that refers to the furthest following resource in a series of resources."#.to_string(), reference: r#"[RFC8288](https://datatracker.ietf.org/doc/html/RFC8288)"#.to_string(), notes: Some(r#"This relation type registration did not indicate a reference. Originally requested by Mark Nottingham in December 2004."#.to_string()) }),
            (LinkRelation::LatestVersion, LinkRelationDetails { name: r#"latest-version"#.to_string(), description: r#"Points to a resource containing the latest (e.g., current) version of the context."#.to_string(), reference: r#"[RFC5829](https://datatracker.ietf.org/doc/html/RFC5829)"#.to_string(), notes: None }),
            (LinkRelation::License, LinkRelationDetails { name: r#"license"#.to_string(), description: r#"Refers to a license associated with this context."#.to_string(), reference: r#"[RFC4946](https://datatracker.ietf.org/doc/html/RFC4946)"#.to_string(), notes: Some(r#"For implications of use in HTML, see: <http://www.w3.org/TR/html5/links.html#link-type-license>"#.to_string()) }),
            (LinkRelation::Linkset, LinkRelationDetails { name: r#"linkset"#.to_string(), description: r#"The link target of a link with the "linkset" relation type provides a set of links, including links in which the link context of the link participates."#.to_string(), reference: r#"[RFC9264](https://datatracker.ietf.org/doc/html/RFC9264)"#.to_string(), notes: None }),
            (LinkRelation::Lrdd, LinkRelationDetails { name: r#"lrdd"#.to_string(), description: r#"Refers to further information about the link's context, expressed as a LRDD ("Link-based Resource Descriptor Document") resource.  See [RFC6415](https://datatracker.ietf.org/doc/html/RFC6415) for information about processing this relation type in host-meta documents. When used elsewhere, it refers to additional links and other metadata. Multiple instances indicate additional LRDD resources. LRDD resources MUST have an "application/xrd+xml" representation, and MAY have others."#.to_string(), reference: r#"[RFC6415](https://datatracker.ietf.org/doc/html/RFC6415)"#.to_string(), notes: None }),
            (LinkRelation::Manifest, LinkRelationDetails { name: r#"manifest"#.to_string(), description: r#"Links to a manifest file for the context."#.to_string(), reference: r#"[Web App Manifest](https://www.w3.org/TR/appmanifest/)"#.to_string(), notes: None }),
            (LinkRelation::MaskIcon, LinkRelationDetails { name: r#"mask-icon"#.to_string(), description: r#"Refers to a mask that can be applied to the icon for the context."#.to_string(), reference: r#"[Creating Pinned Tab Icons](https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/pinnedTabs/pinnedTabs.html)"#.to_string(), notes: None }),
            (LinkRelation::Me, LinkRelationDetails { name: r#"me"#.to_string(), description: r#"Links to a resource about the author of the link's context."#.to_string(), reference: r#"<https://microformats.org/wiki/rel-me>"#.to_string(), notes: Some(r#"See also 'author'"#.to_string()) }),
            (LinkRelation::MediaFeed, LinkRelationDetails { name: r#"media-feed"#.to_string(), description: r#"Refers to a feed of personalised media recommendations relevant to the link context."#.to_string(), reference: r#"<https://wicg.github.io/media-feeds/#discovery-of-media-feeds>"#.to_string(), notes: None }),
            (LinkRelation::Memento, LinkRelationDetails { name: r#"memento"#.to_string(), description: r#"The Target IRI points to a Memento, a fixed resource that will not change state anymore."#.to_string(), reference: r#"[RFC7089](https://datatracker.ietf.org/doc/html/RFC7089)"#.to_string(), notes: Some(r#"A Memento for an Original Resource is a resource that encapsulates a prior state of the Original Resource."#.to_string()) }),
            (LinkRelation::Micropub, LinkRelationDetails { name: r#"micropub"#.to_string(), description: r#"Links to the context's Micropub endpoint."#.to_string(), reference: r#"[Micropub](https://www.w3.org/TR/micropub/)"#.to_string(), notes: None }),
            (LinkRelation::ModulePreload, LinkRelationDetails { name: r#"modulepreload"#.to_string(), description: r#"Refers to a module that the user agent is to preemptively fetch and store for use in the current context."#.to_string(), reference: r#"[HTML](https://html.spec.whatwg.org/)"#.to_string(), notes: None }),
            (LinkRelation::Monitor, LinkRelationDetails { name: r#"monitor"#.to_string(), description: r#"Refers to a resource that can be used to monitor changes in an HTTP resource."#.to_string(), reference: r#"[RFC5989](https://datatracker.ietf.org/doc/html/RFC5989)"#.to_string(), notes: None }),
            (LinkRelation::MonitorGroup, LinkRelationDetails { name: r#"monitor-group"#.to_string(), description: r#"Refers to a resource that can be used to monitor changes in a specified group of HTTP resources."#.to_string(), reference: r#"[RFC5989](https://datatracker.ietf.org/doc/html/RFC5989)"#.to_string(), notes: None }),
            (LinkRelation::Next, LinkRelationDetails { name: r#"next"#.to_string(), description: r#"Indicates that the link's context is a part of a series, and that the next in the series is the link target."#.to_string(), reference: r#"[HTML](https://html.spec.whatwg.org/)"#.to_string(), notes: None }),
            (LinkRelation::NextArchive, LinkRelationDetails { name: r#"next-archive"#.to_string(), description: r#"Refers to the immediately following archive resource."#.to_string(), reference: r#"[RFC5005](https://datatracker.ietf.org/doc/html/RFC5005)"#.to_string(), notes: None }),
            (LinkRelation::NoFollow, LinkRelationDetails { name: r#"nofollow"#.to_string(), description: r#"Indicates that the context’s original author or publisher does not endorse the link target."#.to_string(), reference: r#"[HTML](https://html.spec.whatwg.org/)"#.to_string(), notes: None }),
            (LinkRelation::NoOpener, LinkRelationDetails { name: r#"noopener"#.to_string(), description: r#"Indicates that any newly created top-level browsing context which results from following the link will not be an auxiliary browsing context."#.to_string(), reference: r#"[HTML](https://html.spec.whatwg.org/)"#.to_string(), notes: None }),
            (LinkRelation::NoReferrer, LinkRelationDetails { name: r#"noreferrer"#.to_string(), description: r#"Indicates that no referrer information is to be leaked when following the link."#.to_string(), reference: r#"[HTML](https://html.spec.whatwg.org/)"#.to_string(), notes: None }),
            (LinkRelation::Opener, LinkRelationDetails { name: r#"opener"#.to_string(), description: r#"Indicates that any newly created top-level browsing context which results from following the link will be an auxiliary browsing context."#.to_string(), reference: r#"[HTML](https://html.spec.whatwg.org/)"#.to_string(), notes: None }),
            (LinkRelation::OpenID2LocalID, LinkRelationDetails { name: r#"openid2.local_id"#.to_string(), description: r#"Refers to an OpenID Authentication server on which the context relies for an assertion that the end user controls an Identifier."#.to_string(), reference: r#"[OpenID Authentication 2.0 - Final](https://openid.net/specs/openid-authentication-2_0.html)"#.to_string(), notes: None }),
            (LinkRelation::OpenID2Provider, LinkRelationDetails { name: r#"openid2.provider"#.to_string(), description: r#"Refers to a resource which accepts OpenID Authentication protocol messages for the context."#.to_string(), reference: r#"[OpenID Authentication 2.0 - Final](https://openid.net/specs/openid-authentication-2_0.html)"#.to_string(), notes: None }),
            (LinkRelation::Original, LinkRelationDetails { name: r#"original"#.to_string(), description: r#"The Target IRI points to an Original Resource."#.to_string(), reference: r#"[RFC7089](https://datatracker.ietf.org/doc/html/RFC7089)"#.to_string(), notes: Some(r#"An Original Resource is a resource that exists or used to exist, and for which access to one of its prior states may be required."#.to_string()) }),
            (LinkRelation::P3Pv1, LinkRelationDetails { name: r#"p3pv1"#.to_string(), description: r#"Refers to a P3P privacy policy for the context."#.to_string(), reference: r#"[The Platform for Privacy Preferences 1.0 (P3P1.0) Specification](https://www.w3.org/TR/P3P/)"#.to_string(), notes: None }),
            (LinkRelation::Payment, LinkRelationDetails { name: r#"payment"#.to_string(), description: r#"Indicates a resource where payment is accepted."#.to_string(), reference: r#"[RFC8288](https://datatracker.ietf.org/doc/html/RFC8288)"#.to_string(), notes: Some(r#"This relation type registration did not indicate a reference.  Requested by Joshua Kinberg and Robert Sayre.  It is meant as a general way to facilitate acts of payment, and thus this specification makes no assumptions on the type of payment or transaction protocol.  Examples may include a web page where donations are accepted or where goods and services are available for purchase. rel="payment" is not intended to initiate an automated transaction.  In Atom documents, a link element with a rel="payment" attribute may exist at the feed/channel level and/or the entry/item level.  For example, a rel="payment" link at the feed/channel level may point to a "tip jar" URI, whereas an entry/ item containing a book review may include a rel="payment" link that points to the location where the book may be purchased through an online retailer."#.to_string()) }),
            (LinkRelation::Pingback, LinkRelationDetails { name: r#"pingback"#.to_string(), description: r#"Gives the address of the pingback resource for the link context."#.to_string(), reference: r#"[Pingback 1.0](https://www.hixie.ch/specs/pingback/pingback-1.0)"#.to_string(), notes: None }),
            (LinkRelation::Preconnect, LinkRelationDetails { name: r#"preconnect"#.to_string(), description: r#"Used to indicate an origin that will be used to fetch required resources for the link context. Initiating an early connection, which includes the DNS lookup, TCP handshake, and optional TLS negotiation, allows the user agent to mask the high latency costs of establishing a connection."#.to_string(), reference: r#"[HTML](https://html.spec.whatwg.org/)"#.to_string(), notes: None }),
            (LinkRelation::PredecessorVersion, LinkRelationDetails { name: r#"predecessor-version"#.to_string(), description: r#"Points to a resource containing the predecessor version in the version history."#.to_string(), reference: r#"[RFC5829](https://datatracker.ietf.org/doc/html/RFC5829)"#.to_string(), notes: None }),
            (LinkRelation::Prefetch, LinkRelationDetails { name: r#"prefetch"#.to_string(), description: r#"The prefetch link relation type is used to identify a resource that might be required by the next navigation from the link context, and that the user agent ought to fetch, such that the user agent can deliver a faster response once the resource is requested in the future."#.to_string(), reference: r#"[HTML](https://html.spec.whatwg.org/)"#.to_string(), notes: None }),
            (LinkRelation::Preload, LinkRelationDetails { name: r#"preload"#.to_string(), description: r#"Refers to a resource that should be loaded early in the processing of the link's context, without blocking rendering."#.to_string(), reference: r#"[Preload](https://www.w3.org/TR/preload/)"#.to_string(), notes: Some(r#"Additional target attributes establish the detailed fetch properties of the link."#.to_string()) }),
            (LinkRelation::Prerender, LinkRelationDetails { name: r#"prerender"#.to_string(), description: r#"Used to identify a resource that might be required by the next navigation from the link context, and that the user agent ought to fetch and execute, such that the user agent can deliver a faster response once the resource is requested in the future."#.to_string(), reference: r#"[Resource Hints](https://www.w3.org/TR/resource-hints/)"#.to_string(), notes: None }),
            (LinkRelation::Prev, LinkRelationDetails { name: r#"prev"#.to_string(), description: r#"Indicates that the link's context is a part of a series, and that the previous in the series is the link target."#.to_string(), reference: r#"[HTML](https://html.spec.whatwg.org/)"#.to_string(), notes: None }),
            (LinkRelation::Preview, LinkRelationDetails { name: r#"preview"#.to_string(), description: r#"Refers to a resource that provides a preview of the link's context."#.to_string(), reference: r#"[RFC6903](https://datatracker.ietf.org/doc/html/RFC6903), section 3"#.to_string(), notes: None }),
            (LinkRelation::Previous, LinkRelationDetails { name: r#"previous"#.to_string(), description: r#"Refers to the previous resource in an ordered series of resources.  Synonym for "prev"."#.to_string(), reference: r#"[HTML 4.01 Specification](https://www.w3.org/TR/html401/)"#.to_string(), notes: None }),
            (LinkRelation::PrevArchive, LinkRelationDetails { name: r#"prev-archive"#.to_string(), description: r#"Refers to the immediately preceding archive resource."#.to_string(), reference: r#"[RFC5005](https://datatracker.ietf.org/doc/html/RFC5005)"#.to_string(), notes: None }),
            (LinkRelation::PrivacyPolicy, LinkRelationDetails { name: r#"privacy-policy"#.to_string(), description: r#"Refers to a privacy policy associated with the link's context."#.to_string(), reference: r#"[RFC6903](https://datatracker.ietf.org/doc/html/RFC6903), section 4"#.to_string(), notes: None }),
            (LinkRelation::Profile, LinkRelationDetails { name: r#"profile"#.to_string(), description: r#"Identifying that a resource representation conforms to a certain profile, without affecting the non-profile semantics of the resource representation."#.to_string(), reference: r#"[RFC6906](https://datatracker.ietf.org/doc/html/RFC6906)"#.to_string(), notes: Some(r#"Profile URIs are primarily intended to be used as identifiers, and thus clients SHOULD NOT indiscriminately access profile URIs."#.to_string()) }),
            (LinkRelation::Publication, LinkRelationDetails { name: r#"publication"#.to_string(), description: r#"Links to a publication manifest. A manifest represents structured information about a publication, such as informative metadata, a list of resources, and a default reading order."#.to_string(), reference: r#"[Publication Manifest](https://www.w3.org/TR/pub-manifest/)"#.to_string(), notes: None }),
            (LinkRelation::Related, LinkRelationDetails { name: r#"related"#.to_string(), description: r#"Identifies a related resource."#.to_string(), reference: r#"[RFC4287](https://datatracker.ietf.org/doc/html/RFC4287)"#.to_string(), notes: None }),
            (LinkRelation::RESTCONF, LinkRelationDetails { name: r#"restconf"#.to_string(), description: r#"Identifies the root of RESTCONF API as configured on this HTTP server. The "restconf" relation defines the root of the API defined in RFC8040. Subsequent revisions of RESTCONF will use alternate relation values to support protocol versioning."#.to_string(), reference: r#"[RFC8040](https://datatracker.ietf.org/doc/html/RFC8040)"#.to_string(), notes: None }),
            (LinkRelation::Replies, LinkRelationDetails { name: r#"replies"#.to_string(), description: r#"Identifies a resource that is a reply to the context of the link."#.to_string(), reference: r#"[RFC4685](https://datatracker.ietf.org/doc/html/RFC4685)"#.to_string(), notes: None }),
            (LinkRelation::Ruleinput, LinkRelationDetails { name: r#"ruleinput"#.to_string(), description: r#"The resource identified by the link target provides an input value to an instance of a rule, where the resource which represents the rule instance is identified by the link context."#.to_string(), reference: r#"[OCF Core Optional 2.2.0](https://openconnectivity.org/specs/OCF_Core_Optional_Specification.pdf)"#.to_string(), notes: None }),
            (LinkRelation::Search, LinkRelationDetails { name: r#"search"#.to_string(), description: r#"Refers to a resource that can be used to search through the link's context and related resources."#.to_string(), reference: r#"[OpenSearch](https://opensearch.org)"#.to_string(), notes: None }),
            (LinkRelation::Section, LinkRelationDetails { name: r#"section"#.to_string(), description: r#"Refers to a section in a collection of resources."#.to_string(), reference: r#"[HTML 4.01 Specification](https://www.w3.org/TR/html401/)"#.to_string(), notes: None }),
            (LinkRelation::SelfVariant, LinkRelationDetails { name: r#"self"#.to_string(), description: r#"Conveys an identifier for the link's context."#.to_string(), reference: r#"[RFC4287](https://datatracker.ietf.org/doc/html/RFC4287)"#.to_string(), notes: None }),
            (LinkRelation::Service, LinkRelationDetails { name: r#"service"#.to_string(), description: r#"Indicates a URI that can be used to retrieve a service document."#.to_string(), reference: r#"[RFC5023](https://datatracker.ietf.org/doc/html/RFC5023)"#.to_string(), notes: Some(r#"When used in an Atom document, this relation type specifies Atom Publishing Protocol service documents by default.  Requested by James Snell."#.to_string()) }),
            (LinkRelation::ServiceDesc, LinkRelationDetails { name: r#"service-desc"#.to_string(), description: r#"Identifies service description for the context that is primarily intended for consumption by machines."#.to_string(), reference: r#"[RFC8631](https://datatracker.ietf.org/doc/html/RFC8631)"#.to_string(), notes: None }),
            (LinkRelation::ServiceDoc, LinkRelationDetails { name: r#"service-doc"#.to_string(), description: r#"Identifies service documentation for the context that is primarily intended for human consumption."#.to_string(), reference: r#"[RFC8631](https://datatracker.ietf.org/doc/html/RFC8631)"#.to_string(), notes: None }),
            (LinkRelation::ServiceMeta, LinkRelationDetails { name: r#"service-meta"#.to_string(), description: r#"Identifies general metadata for the context that is primarily intended for consumption by machines."#.to_string(), reference: r#"[RFC8631](https://datatracker.ietf.org/doc/html/RFC8631)"#.to_string(), notes: None }),
            (LinkRelation::SipTrunkingCapability, LinkRelationDetails { name: r#"sip-trunking-capability"#.to_string(), description: r#"Refers to a capability set document that defines parameters or configuration requirements for automated peering and communication-channel negotiation of the Session Initiation Protocol (SIP)."#.to_string(), reference: r#"[RFC9409](https://datatracker.ietf.org/doc/html/RFC9409)"#.to_string(), notes: None }),
            (LinkRelation::Sponsored, LinkRelationDetails { name: r#"sponsored"#.to_string(), description: r#"Refers to a resource that is within a context that is sponsored (such as advertising or another compensation agreement)."#.to_string(), reference: r#"[Google Blog post 09-2019](https://developers.google.com/search/blog/2019/09/evolving-nofollow-new-ways-to-identify)"#.to_string(), notes: None }),
            (LinkRelation::Start, LinkRelationDetails { name: r#"start"#.to_string(), description: r#"Refers to the first resource in a collection of resources."#.to_string(), reference: r#"[HTML 4.01 Specification](https://www.w3.org/TR/html401/)"#.to_string(), notes: None }),
            (LinkRelation::Status, LinkRelationDetails { name: r#"status"#.to_string(), description: r#"Identifies a resource that represents the context's status."#.to_string(), reference: r#"[RFC8631](https://datatracker.ietf.org/doc/html/RFC8631)"#.to_string(), notes: None }),
            (LinkRelation::Stylesheet, LinkRelationDetails { name: r#"stylesheet"#.to_string(), description: r#"Refers to a stylesheet."#.to_string(), reference: r#"[HTML](https://html.spec.whatwg.org/)"#.to_string(), notes: None }),
            (LinkRelation::Subsection, LinkRelationDetails { name: r#"subsection"#.to_string(), description: r#"Refers to a resource serving as a subsection in a collection of resources."#.to_string(), reference: r#"[HTML 4.01 Specification](https://www.w3.org/TR/html401/)"#.to_string(), notes: None }),
            (LinkRelation::SuccessorVersion, LinkRelationDetails { name: r#"successor-version"#.to_string(), description: r#"Points to a resource containing the successor version in the version history."#.to_string(), reference: r#"[RFC5829](https://datatracker.ietf.org/doc/html/RFC5829)"#.to_string(), notes: None }),
            (LinkRelation::Sunset, LinkRelationDetails { name: r#"sunset"#.to_string(), description: r#"Identifies a resource that provides information about the context's retirement policy."#.to_string(), reference: r#"[RFC8594](https://datatracker.ietf.org/doc/html/RFC8594)"#.to_string(), notes: None }),
            (LinkRelation::Tag, LinkRelationDetails { name: r#"tag"#.to_string(), description: r#"Gives a tag (identified by the given address) that applies to the current document."#.to_string(), reference: r#"[HTML](https://html.spec.whatwg.org/)"#.to_string(), notes: None }),
            (LinkRelation::TermsOfService, LinkRelationDetails { name: r#"terms-of-service"#.to_string(), description: r#"Refers to the terms of service associated with the link's context."#.to_string(), reference: r#"[RFC6903](https://datatracker.ietf.org/doc/html/RFC6903), section 5"#.to_string(), notes: None }),
            (LinkRelation::TimeGate, LinkRelationDetails { name: r#"timegate"#.to_string(), description: r#"The Target IRI points to a TimeGate for an Original Resource."#.to_string(), reference: r#"[RFC7089](https://datatracker.ietf.org/doc/html/RFC7089)"#.to_string(), notes: Some(r#"A TimeGate for an Original Resource is a resource that is capable of datetime negotiation to support access to prior states of the Original Resource."#.to_string()) }),
            (LinkRelation::TimeMap, LinkRelationDetails { name: r#"timemap"#.to_string(), description: r#"The Target IRI points to a TimeMap for an Original Resource."#.to_string(), reference: r#"[RFC7089](https://datatracker.ietf.org/doc/html/RFC7089)"#.to_string(), notes: Some(r#"A TimeMap for an Original Resource is a resource from which a list of URIs of Mementos of the Original Resource is available."#.to_string()) }),
            (LinkRelation::Type, LinkRelationDetails { name: r#"type"#.to_string(), description: r#"Refers to a resource identifying the abstract semantic type of which the link's context is considered to be an instance."#.to_string(), reference: r#"[RFC6903](https://datatracker.ietf.org/doc/html/RFC6903), section 6"#.to_string(), notes: None }),
            (LinkRelation::UGC, LinkRelationDetails { name: r#"ugc"#.to_string(), description: r#"Refers to a resource that is within a context that is User Generated Content."#.to_string(), reference: r#"[Google Blog post 09-2019](https://developers.google.com/search/blog/2019/09/evolving-nofollow-new-ways-to-identify)"#.to_string(), notes: None }),
            (LinkRelation::Up, LinkRelationDetails { name: r#"up"#.to_string(), description: r#"Refers to a parent document in a hierarchy of documents."#.to_string(), reference: r#"[RFC8288](https://datatracker.ietf.org/doc/html/RFC8288)"#.to_string(), notes: Some(r#"This relation type registration did not indicate a reference.  Requested by Noah Slater."#.to_string()) }),
            (LinkRelation::VersionHistory, LinkRelationDetails { name: r#"version-history"#.to_string(), description: r#"Points to a resource containing the version history for the context."#.to_string(), reference: r#"[RFC5829](https://datatracker.ietf.org/doc/html/RFC5829)"#.to_string(), notes: None }),
            (LinkRelation::Via, LinkRelationDetails { name: r#"via"#.to_string(), description: r#"Identifies a resource that is the source of the information in the link's context."#.to_string(), reference: r#"[RFC4287](https://datatracker.ietf.org/doc/html/RFC4287)"#.to_string(), notes: None }),
            (LinkRelation::WebMention, LinkRelationDetails { name: r#"webmention"#.to_string(), description: r#"Identifies a target URI that supports the Webmention protocol. This allows clients that mention a resource in some form of publishing process to contact that endpoint and inform it that this resource has been mentioned."#.to_string(), reference: r#"[Webmention](https://www.w3.org/TR/webmention/)"#.to_string(), notes: Some(r#"This is a similar "Linkback" mechanism to the ones of Refback, Trackback, and Pingback. It uses a different protocol, though, and thus should be discoverable through its own link relation type."#.to_string()) }),
            (LinkRelation::WorkingCopy, LinkRelationDetails { name: r#"working-copy"#.to_string(), description: r#"Points to a working copy for this resource."#.to_string(), reference: r#"[RFC5829](https://datatracker.ietf.org/doc/html/RFC5829)"#.to_string(), notes: None }),
            (LinkRelation::WorkingCopyOf, LinkRelationDetails { name: r#"working-copy-of"#.to_string(), description: r#"Points to the versioned resource from which this working copy was obtained."#.to_string(), reference: r#"[RFC5829](https://datatracker.ietf.org/doc/html/RFC5829)"#.to_string(), notes: None })
        ])
    },
);