Network Working Group N. Mehta
Internet-Draft Oracle Corp.
Intended status: Experimental June 29, 2009
Expires: December 31, 2009
In-lining Extensions for Atom
draft-mehta-atom-inline-01
Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on December 31, 2009.
Copyright Notice
Copyright (c) 2009 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents in effect on the date of
publication of this document (http://trustee.ietf.org/license-info).
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document.
Abstract
This specification defines mechanisms for in-lining representations
of linked Atom resources.
Mehta Expires December 31, 2009 [Page 1]
Internet-Draft Atom In-line Extensions June 2009
Editorial Note
To provide feedback on this Internet-Draft, join the atom-syntax
mailing list (http://www.imc.org/atom-syntax/) [1].
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Namespace . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Notational Conventions . . . . . . . . . . . . . . . . . . 3
1.3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . 3
2. In-line Representation of Atom Resources . . . . . . . . . . . 3
2.1. The "ae:inline" Extension Element . . . . . . . . . . . . . 4
2.1.1. The "type" Attribute . . . . . . . . . . . . . . . . . 4
2.1.2. Empty "ae:inline" Element . . . . . . . . . . . . . . . 4
3. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1. Feed with empty in-line replies feed link . . . . . . . . . 4
3.2. Entry with in-line via feed link . . . . . . . . . . . . . 5
3.3. Entry with in-line up link . . . . . . . . . . . . . . . . 5
4. Security Considerations . . . . . . . . . . . . . . . . . . . . 6
5. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.1. Normative References . . . . . . . . . . . . . . . . . . . 6
5.2. Informative References . . . . . . . . . . . . . . . . . . 7
Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . . 7
Appendix B. Revision History . . . . . . . . . . . . . . . . . . . 7
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 7
Mehta Expires December 31, 2009 [Page 2]
Internet-Draft Atom In-line Extensions June 2009
1. Introduction
This document defines an extension for in-line representations of
linked Atom resources within the Atom Syndication Format [RFC4287].
1.1. Namespace
The XML Namespaces URI for the XML data format described in this
specification is:
http://purl.org/atom/ext/
This specification uses the prefix "ae:" for the namespace name. The
prefix "atom:" is used for "http://www.w3.org/2005/Atom", the
namespace name of the Atom Syndication Format [RFC4287]. These
namespace prefixes are not semantically significant.
1.2. Notational Conventions
Some sections of this specification are illustrated with fragments of
a non-normative RELAX NG Compact schema [RELAXNG]. In those
sections, this specification uses the atomEntry, atomFeed, and
atomCommonAttributes, defined in [RFC4287].
However, the text of this specification provides the definition of
conformance.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
1.3. Terminology
This specification uses Atom link relations to identify different
types of links; see the Atom specification [RFC4287] for information
about their syntax, and the IANA link relation registry for more
information about specific values.
2. In-line Representation of Atom Resources
Some applications require the ability to pre-fetch resources linked
from an Atom document using the atom:link element [RFC4287]. Such
in-line representations are similar to the in-line content model of
Atom.
An Atom document MAY include the in-line representation of a linked
Atom resource by using the ae:inline element inside the corresponding
Mehta Expires December 31, 2009 [Page 3]
Internet-Draft Atom In-line Extensions June 2009
atom:link element. The in-lined representation is only a hint and
MAY differ from the representation obtained from the URI referenced
in the link. Atom Processors SHOULD use the link URI to obtain the
complete representation of the linked resource.
2.1. The "ae:inline" Extension Element
The "ae:inline" element contains an approximate representation of the
linked resource.
extensionInline =
element ae:inline {
atomCommonAttributes,
atomFeed | atomEntry | empty
}
2.1.1. The "type" Attribute
The type attribute on a link element is a hint about the type of
representation that is expected to be returned when the value of the
href attribute is dereferenced. A processor must be prepared to deal
with either Atom document type regardless of the value of the type
attribute in the link element.
2.1.2. Empty "ae:inline" Element
The ae:inline element may be empty if the producer of the Atom
document a linked resource cannot be in-lined, e.g., due to
inadequate authorization or if the resource does not yet exist.
3. Examples
3.1. Feed with empty in-line replies feed link
The following example demonstrates use of an empty in-lined feed
within an atom:link element. The type attribute of link is
interpreted as an Atom feed document due to the requirements of the
replies link relation.
Mehta Expires December 31, 2009 [Page 4]
Internet-Draft Atom In-line Extensions June 2009
http://www.example.org/entriesMy posts2006-03-01T12:12:12Z
...
3.2. Entry with in-line via feed link
The following example demonstrates use of an in-lined feed within an
atom:link element. The type attribute of link is general enough to
allow either Atom feed or entry document to be in-lined.
http://www.example.org/entry/1My posts2006-03-01T12:12:12Z
...
...
3.3. Entry with in-line up link
The following example demonstrates use of an in-lined entry within an
atom:link element. The type attribute of link is specifically
limiting the in-lined content to use an Atom entry document.
Mehta Expires December 31, 2009 [Page 5]
Internet-Draft Atom In-line Extensions June 2009
...
...
4. Security Considerations
In-line Extensions for Atom are subject to the security
considerations found in Section 8 of [RFC4287].
In-line representations can overwhelm Atom processors. For this
reason, consumers of Atom representations should take adequate
precautions to limit resource consumption when processing ae:inline
elements.
5. References
5.1. Normative References
[HTML] Raggett, D., Hors, A., and I. Jacobs, "HTML 4.01
Specification, W3C REC REC-html401-19991224",
December 1999,
.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3023] Murata, M., St. Laurent, S., and D. Kohn, "XML Media
Types", RFC 3023, January 2001.
[RFC3548] Josefsson, S., "The Base16, Base32, and Base64 Data
Encodings", RFC 3548, July 2003.
[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
Resource Identifier (URI): Generic Syntax", STD 66,
RFC 3986, January 2005.
Mehta Expires December 31, 2009 [Page 6]
Internet-Draft Atom In-line Extensions June 2009
[RFC4287] Nottingham, M., Ed. and R. Sayre, Ed., "The Atom
Syndication Format", RFC 4287, December 2005.
[RFC4288] Freed, N. and J. Klensin, "Media Type Specifications and
Registration Procedures", BCP 13, RFC 4288, December 2005.
[W3C.REC-XHTML]
Pemberton, S., "XHTML 1.0: The Extensible HyperText Markup
Language", W3C REC-XHTML, January 2000,
.
5.2. Informative References
[RELAXNG] Clark, J., "RELAX NG Compact Syntax", December 2001, .
URIs
[1]
Appendix A. Acknowledgements
On the atom-syntax mailing list, Hadrien Gardeur, Al Brown, Julian
Reschke, Mark Nottingham, Pablo Castro, Kyle Marvin, and James Snell
provided very valuable feedback to solidify this draft.
Appendix B. Revision History
00 - Initial Revision, split from draft-divilly-atom-hierarchy-01.
01 - Limited scope of in-lining to Atom.
Removed type attribute from ae:inline as well as support for non-
Atom in-lining.
Specified the interpretation of type attribute and the value of
ae:inline
Added example for empty inline element
Mehta Expires December 31, 2009 [Page 7]
Internet-Draft Atom In-line Extensions June 2009
Author's Address
Nikunj R. Mehta
Oracle Corp.
Email: nikunj.mehta@oracle.com
URI: http://o-micron.blogspot.com/
Mehta Expires December 31, 2009 [Page 8]