UserPreferences

PaceServiceAutodiscovery


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="&#65;lternate"
       
      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="&#83;ervice"
      
   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)

Impacts

Notes


CategoryProposals