Abstract
Makes the list of @rel values for the link element extensible by registering a prefix with IANA. The registrant may define @rel values beginning with that prefix.
Status
Open
Rationale
-
If the list of @rel values is to be open in order for link to be useable as an extension point by third parties, some method must be adopted that will ensure that there will not be naming collisions.
-
Methods such as qnames, which require an element somewhere in the feed to associate a prefix with a namepspace, schema, etc., impose a processing burden on Atom producers and consumers.
-
Using URIs as @rel values would lead to canonicalization issues, result in larger feeds, and look messier.
-
Requiring registration only of a prefix would lower the barrier to entry vs. requiring registration of every value.
-
This method is similar to (and was inspired by) MIME's prs and vnd subtypes
Proposal
Replace the text preceding the list of @rel values in section 3.4.1 of draft-ietf-atompub-protocol-01.txt (or whereever the list of @rel values appears--it may be moving into the format specification) to read:
3.4.1 rel This attribute describes the relationship from the current document to the anchor specified by the href attribute. The value of this attribute is a space-separated list of link types. Link Constructs MUST have a rel attribute, whose value MUST be a string, and MAY either be one of the values enumerated below or be defined externally. Externally defined values MUST begin with a prefix which has been registered with IANA. Only the registrant of the prefix can define values beginning with that prefix. Prefixes and the values that follow them MUST be separated by a period, and both MUST consist entirely of alphanumeric characters and hyphens. The value of this attribute is case-insensitive.
Insert the following in the "IANA Considerations" section.
IANA is hereby requested to establish a registry of prefixes for @rel values for Link Constructs.
Impacts
Atom producers and consumers would have the option of supporting @rel values invented by arbitrary parties, but would not be required to do so. Publishers wishing to express links types not defined in the Atom core would be able to do so.