Abstract
Resubmit the Autodiscovery draft and add a "service" link to point to APP introspection documents.
Status
Proposed.
Rationale
We need to finish autodisco and we need a standard way of discovering APP service documents.
Proposal
Abstract
This document specifies a machine-readable method of linking to
Atom documents from a HyperText Markup Language (HTML) or Extensible
HyperText Markup Language (XHTML) document, using the <link> element.
1. Introduction
(keep existing first paragraph)
The Atom Publishing Protocol is an application-level protocol for
publishing and editing collections of Web resources. The protocol
defines an XML-based file format called a "Service document" used to
describe the location and capabilities of one or more collections.
The purpose of Atom autodiscovery is for clients who know the URI of
a web page to find the location of that page's associated Atom feed
or Service document. (keep remainder of existing 2nd paragraph)
(keep existing third paragraph)
(keep existing sections 2 and 3)
4. Autodiscovery Links
This specification defines two types of autodiscovery element.
* An Atom autodiscovery element identifies the location of an Atom
feed document.
* A Service autodiscovery element identifies the location of an Atom
Publishing Protocol service document.
4.1 rel attribute
The rel attribute MUST be present in an Atom autodiscovery element.
As defined in section 6.12 of HTML 4 [W3C.REC-html401-19991224], the
value of the rel attribute is a space-separated list of keywords.
For Atom autodiscovery elements, the list of keywords MUST include the
keyword "alternate" in uppercase, lowercase, or mixed case.
For Service autodiscovery elements, the list of keywords MUST include the
keyword "service" in uppercase, lowercase, or mixed case.
4.2 type attribute
The type attribute MUST be present in an Atom autodiscovery element.
As defined in section 12.3 of HTML 4 [W3C.REC-html401-19991224], the
value of the type attribute of any link element MUST be a registered
Internet media type [RFC2045].
The media type for Atom is "application/atom+xml" [I-D.ietf-atompub-format],
so in an Atom autodiscovery element the value of the type attribute MUST
contain the string "application/atom+xml" in uppercase, lowercase, or mixed
case.
The media type for Service documents is "application/atomserv+xml" so in
a Service autodiscovery element the value of the type attribute MUST
contain the string "application/atomserv+xml" in uppercase, lowercase, or
mixed case.
4.3 href attribute
The value of the href attribute in an Atom autodiscovery element MUST be
the URI [RFC3986] of an Atom feed. In a Service autodiscovery element, the
value MUST be the URI of an Atom Publishing Protocol Service document. The
value MAY be a relative URI, and if so, clients MUST resolve it to a full
URI (section 5 of [RFC3986]) using the document's base URI (section 12.4
of HTML 4 [W3C.REC-html401-19991224]).
5. Optional attributes
An autodiscovery element MAY contain any other attributes of the link element
defined in section 12.4 of HTML 4 [W3C.REC-html401-19991224]. Clients MAY
ignore any attributes other than rel, type, and href.
5.1 title attribute
The title attribute MAY be present in an autodiscovery element.
If so, the client MAY treat the value of the title attribute as a
human-readable label of the Atom feed or Service document. Clients MAY present
this label to the end user.
6. Multiple autodiscovery elements
An HTML or XHTML document MAY contain one or more autodiscovery elements of
either type. If multiple autodiscovery elements of the same type are present
in a single document:
* Each autodiscovery element SHOULD point to a different Atom feed or Service
document.
* Each autodiscovery element SHOULD include a title attribute that
gives a human-readable label for the resource that the element points
to. Clients MAY use these titles to present a list of available
resources to the end user.
* The order of the autodiscovery elements is significant. The first
element SHOULD point to the publisher's preferred resource for the
document.
* Clients who present a list of autodiscovered resources to the end user
SHOULD present them in the same order as the autodiscovery
elements appear in the document.
* Clients who wish to choose exactly one resource without user input
SHOULD choose the one pointed to by the first autodiscovery
element.
7. Examples
7.1 rel attribute variations
The following is a non-exhaustive list of valid rel attributes for
Atom and Service autodiscovery elements in an HTML or XHTML document:
rel="alternate"
rel="alternate "
rel=" alternate"
rel=" alternate "
rel="foo alternate"
rel="alternate bar"
rel="foo alternate bar"
rel="ALTERNATE"
rel="Alternate"
rel="AlTeRnAtE"
rel='alternate'
rel="Alternate"
rel="service"
rel="service "
rel=" service"
rel=" service "
rel="foo service"
rel="service bar"
rel="foo service bar"
rel="SERVICE"
rel="Service"
rel="SeRvIcE"
rel='service'
rel="Service"
In an HTML document, the following forms are also valid:
REL="alternate"
rel=alternate
REL="service"
rel=service
7.2 type attribute variations
The following are examples of valid type attributes for an autodiscovery
element in an HTML or XHTML document:
type="application/atom+xml"
type="application/atom+xml "
type=" application/atom+xml"
type=" application/atom+xml "
type="APPLICATION/ATOM+XML"
type="Application/Atom+Xml"
type="application/atomserv+xml"
type="application/atomserv+xml "
type=" application/atomserv+xml"
type=" application/atomserv+xml "
type="APPLICATION/ATOMSERV+XML"
type="Application/AtomServ+Xml"
In an HTML document, the following form is also valid:
TYPE="application/atom+xml"
TYPE="application/atomserv+xml"
(keep remainder of section 7)
8. IANA Considerations
This document relies on the registrations of the Atom media type
[RFC4287] and the Atom Publishing Protocol Service document media type
[APP-11].
9. Security Considerations
Since the entire purpose of an autodiscovery element ... (keep remainder
of section 9)
10. (add APP to list of normative references)
