One document matched: draft-mehta-atom-inline-01.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2119 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml'>
<!ENTITY rfc3023 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3023.xml'>
<!ENTITY rfc3548 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3548.xml'>
<!ENTITY rfc3986 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3986.xml'>
<!ENTITY rfc4287 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4287.xml'>
<!ENTITY rfc4288 PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4288.xml'>
<!ENTITY recxhtml PUBLIC '' 'http://xml.resource.org/public/rfc/bibxml2/reference.W3C.REC-XHTML.xml'>
]>
<?rfc toc="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc iprnotified="yes" ?>
<?rfc strict="yes" ?>
<?rfc compact="yes" ?>
<?rfc comments="yes" ?>
<?rfc inline="yes" ?>
<?rfc tocdepth="3" ?>
<rfc category="exp" ipr="trust200811" docName="draft-mehta-atom-inline-01">
<front>
<title abbrev="Atom In-line Extensions">In-lining Extensions for Atom</title>
<author initials="N. R." surname="Mehta" fullname="Nikunj R. Mehta">
<organization>Oracle Corp.</organization>
<address>
<email>nikunj.mehta@oracle.com</email>
<uri>http://o-micron.blogspot.com/</uri>
</address>
</author>
<date day="29" month="June" year="2009"/>
<abstract>
<t>
This specification defines mechanisms for in-lining representations of
linked Atom resources.
</t>
</abstract>
<note title="Editorial Note">
<t>
To provide feedback on this Internet-Draft, join the
<eref target="http://www.imc.org/atom-syntax/">atom-syntax mailing
list (http://www.imc.org/atom-syntax/)</eref>.
</t>
</note>
</front>
<middle>
<section anchor="intro" title="Introduction">
<t>
This document defines an extension for in-line representations of
linked Atom resources within the Atom Syndication Format <xref target="RFC4287"/>.
</t>
<section title="Namespace">
<t> The XML Namespaces URI for the XML data format described in this specification is: </t>
<figure width="" align="left" height="" alt="" title="">
<artwork name="" align="left" height="" width="" alt="" type="" xml:space="preserve">
http://purl.org/atom/ext/</artwork>
</figure>
<t> 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 <xref target="RFC4287"/>.
These namespace prefixes are not semantically significant.
</t>
</section>
<section title="Notational Conventions">
<t>
Some sections of this specification are illustrated with fragments of a
non-normative RELAX NG Compact schema <xref target="RELAXNG"/>. In those sections, this
specification uses the atomEntry, atomFeed, and atomCommonAttributes, defined in <xref target="RFC4287"/>.
</t>
<t>
However, the text of this specification provides the definition of conformance.
</t>
<t>
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 <xref target="RFC2119"/>.
</t>
</section>
<section title="Terminology" anchor="terminology">
<t>
This specification uses Atom link relations to identify different
types of links; see the Atom specification <xref target="RFC4287"/> for
information about their syntax, and the IANA link relation registry
for more information about specific values.
</t>
</section>
</section>
<section title="In-line Representation of Atom Resources" anchor="inline-representation">
<t>
Some applications require the ability to pre-fetch resources linked from an
Atom document using the atom:link element <xref target="RFC4287"/>. Such
in-line representations are similar to the in-line content model of Atom.
</t>
<t>
An Atom document MAY include the in-line representation of a linked Atom resource
by using the ae:inline element inside the corresponding 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.
</t>
<section title="The "ae:inline" Extension Element" anchor="inline-element">
<t>
The "ae:inline" element contains an approximate representation of the linked resource.
</t>
<figure>
<preamble/>
<artwork name="inline-definition" type="definition"><![CDATA[
extensionInline =
element ae:inline {
atomCommonAttributes,
atomFeed | atomEntry | empty
}
]]></artwork>
</figure>
<section title="The "type" Attribute" anchor="link-type-attribute">
<t>
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.
</t>
</section>
<section title="Empty "ae:inline" Element" anchor="empty-inline">
<t>
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.
</t>
</section>
</section>
</section>
<section title="Examples" anchor="examples">
<section title="Feed with empty in-line replies feed link" anchor="replies-feed-example">
<t>
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.
</t>
<figure>
<artwork name="In line replies link" type="example"><![CDATA[
<feed xmlns="http://www.w3.org/2005/Atom"
xmlns:thr="http://purl.org/syndication/thread/1.0">
<id>http://www.example.org/entries</id>
<title>My posts</title>
<updated>2006-03-01T12:12:12Z</updated>
<link rel="replies"
href="http://www.example.org/replies">
<ae:inline xmlns:ae="http://purl.org/atom/ext/"/>
</link>
<link rel="self"
href="http://www.example.org/entries" />
...
</feed>
]]></artwork>
</figure>
</section>
<section title="Entry with in-line via feed link" anchor="via-feed-example">
<t>
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.
</t>
<figure>
<artwork name="In line via link" type="example"><![CDATA[
<entry xmlns="http://www.w3.org/2005/Atom"
xmlns:thr="http://purl.org/syndication/thread/1.0">
<id>http://www.example.org/entry/1</id>
<title>My posts</title>
<updated>2006-03-01T12:12:12Z</updated>
<link rel="via" type="application/atom+xml"
href="http://www.example.org/entry/1/via">
<ae:inline
xmlns:ae="http://purl.org/atom/ext/"
xmlns:thr="http://purl.org/syndication/thread/1.0">
<feed>
...
</feed>
</ae:inline>
</link>
<link rel="self"
href="http://www.example.org/entry/1" />
...
</entry>
]]></artwork>
</figure>
</section>
<section title="Entry with in-line up link" anchor="up-entry-example">
<t>
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.
</t>
<figure>
<artwork name="In-line up entry" type="example"><![CDATA[
<entry xmlns="http://www.w3.org/2005/Atom">
<link rel="up" type="application/atom+xml;type=entry"
href="/finance/feeds/default/portfolios/1">
<ae:inline>
<entry>
...
</entry>
</ae:inline>
</link>
<link rel="edit"
href="/finance/feeds/default/portfolios/1/positions/NASDAQ:ORCL"/>
...
</entry>
]]></artwork>
</figure>
</section>
</section>
<section title="Security Considerations">
<t>
In-line Extensions for Atom are subject to the security considerations found in Section 8 of <xref target="RFC4287"/>.
</t>
<t>
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.
</t>
</section>
</middle>
<back>
<references title="Normative References">
<reference
anchor="HTML"
target="http://www.w3.org/TR/1999/REC-html401-19991224">
<front>
<title>HTML 4.01 Specification, W3C REC REC-html401-19991224</title>
<author initials="D" surname="Raggett" fullname="D Raggett">
<organization />
</author>
<author initials="A" surname="Hors" fullname="A Hors">
<organization />
</author>
<author initials="I" surname="Jacobs" fullname="Ian Jacobs">
<organization />
</author>
<date month="December" year="1999" />
</front>
</reference>
&rfc2119;
&rfc3023;
&rfc3548;
&rfc3986;
&rfc4287;
&rfc4288;
&recxhtml;
</references>
<references title="Informative References">
<reference
anchor="RELAXNG"
target="http://www.oasis-open.org/committees/relax-ng/compact-20021121.html">
<front>
<title>RELAX NG Compact Syntax</title>
<author initials="J" surname="Clark" fullname="James Clark">
<organization />
</author>
<date month="December" year="2001" />
</front>
</reference>
</references>
<section title="Acknowledgements">
<t>
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.
</t>
</section>
<section title="Revision History">
<t>
00 - Initial Revision, split from draft-divilly-atom-hierarchy-01.
</t>
<t>
01 - Limited scope of in-lining to Atom.
<list>
<t>Removed type attribute from ae:inline as well as support for non-Atom in-lining.</t>
<t>Specified the interpretation of type attribute and the value of ae:inline</t>
<t>Added example for empty inline element</t>
</list>
</t>
</section>
</back>
</rfc>
| PAFTECH AB 2003-2026 | 2026-04-24 15:01:48 |