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)