One document matched: draft-snell-atompub-feature-11.xml
<?xml version="1.0"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2119 PUBLIC ""
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY rfc4287 PUBLIC ""
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.4287.xml">
<!ENTITY rfc5023 PUBLIC ""
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.5023.xml">
<!ENTITY rfc3986 PUBLIC ""
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.3986.xml">
<!ENTITY rfc3987 PUBLIC ""
"http://xml.resource.org/public/rfc/bibxml/reference.RFC.3987.xml">
<!ENTITY infoset PUBLIC ""
"http://xml.resource.org/public/rfc/bibxml4/reference.W3C.REC-xml-infoset-20040204.xml">
<!ENTITY xmlnames PUBLIC ""
"http://xml.resource.org/public/rfc/bibxml4/reference.W3C.REC-xml-names-20060816.xml">
<!ENTITY xmlbase PUBLIC ""
"http://xml.resource.org/public/rfc/bibxml4/reference.W3C.REC-xmlbase-20010627.xml">
<!ENTITY xml PUBLIC ""
"http://xml.resource.org/public/rfc/bibxml4/reference.W3C.REC-xml-20060816.xml">
]>
<rfc category="exp" ipr="full3978" docName="draft-snell-atompub-feature-11.txt">
<?rfc toc="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc strict="yes" ?>
<?rfc toc="yes"?>
<?rfc compact="yes"?>
<front>
<title abbrev="Atompub Features">Atom Publishing Protocol Feature Discovery</title>
<author initials="J.M." surname="Snell" fullname="James M Snell">
<organization></organization>
<address>
<postal>
<street></street>
<city></city> <region></region> <code></code>
<country></country>
</postal>
<phone></phone>
<email>jasnell@gmail.com</email>
<uri>http://snellspace.com</uri>
</address>
</author>
<date month="October" year="2007" />
<area>General</area>
<keyword>I-D</keyword>
<keyword>Internet-Draft</keyword>
<keyword>XML</keyword>
<keyword>Extensible Markup Language</keyword>
<keyword>Atom</keyword>
<keyword>Syndication</keyword>
<abstract><t>This document introduces extensions to the Atom Publishing Protocol
Service Document format for expressing metadata about the behaviors, functions and
capabilities supported by an Atom Publishing Protocol collection.</t></abstract>
</front>
<middle>
<section title="Introduction">
<t>This document introduces an extension to the Atom Publishing Protocol (Atompub)
service document <xref target="RFC5023" /> format that allows for
the documentation and discovery of behaviors, functions or capabilities supported
by an Atompub collection. Examples of such capabilities can include the
preservation of certain kinds of content, support for draft entries, support for the
scheduled publication of entries, use of a particular set of Atom format extensions,
and so on.</t>
<t>Describing features using the mechanisms defined in this specification is
currently considered to be largely experimental. While there are examples of
such mechanisms being put to practical use in deployed applications, there is
currently not enough collective implementation experience to determine whether
the mechanism defined here is sufficient to fully address the general needs of
Atom Publishing Protocol client and server implementations. Implementations and
feedback are encouraged.</t>
</section>
<section title="Notational Conventions">
<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 BCP 14, <xref target="RFC2119" />.</t>
<t>This specification uses XML Namespaces
<xref target="W3C.REC-xml-names-20060816" /> to uniquely identify XML element
names. It uses the following namespace prefix for the indicated namespace
URI;</t>
<figure><artwork><![CDATA[
"f": "http://purl.org/atompub/features/1.0"
]]></artwork></figure>
<t>This specification uses terms from the XML Infoset
<xref target="W3C.REC-xml-infoset-20040204" />. However, this specification
uses a shorthand; the phrase "Information Item" is omitted when naming Element
Information Items. Therefore, when this specification uses the terms "element"
and "attribute" it is referring, respectively, to the Element and Attribute
Information Items in Infoset terms.</t>
<t>This specification uses the terms "atomUri" and "atomCommonAttributes" from
the non-normative RELAX NG Compact schema included in <xref target="RFC4287" />.
Where used, these serve the same purpose and have the same meaning as their use
in <xref target="RFC4287" />.</t>
<t>Atom allows the use of IRIs <xref target="RFC3987"/>. Every
URI <xref target="RFC3986"/> is also an IRI, so a URI may be used wherever below
an IRI is named. There are two special considerations: (1) when an IRI that is
not also a URI is given for dereferencing, it MUST be mapped to a URI using the
steps in Section 3.1 of <xref target="RFC3987"/> and (2) when an IRI is serving
as an identifier, it MUST NOT be so mapped.</t>
<t>Any element defined by this specification MAY have an xml:base attribute
<xref target="W3C.REC-xmlbase-20010627"/>. When xml:base is used, it
serves the function described in section 5.1.1 of <xref target="RFC3986"/>,
establishing the base URI (or IRI) for resolving any relative references found
within the effective scope of the xml:base attribute.</t>
<t>Any element defined by this specification MAY have an xml:lang attribute,
whose content indicates the natural language for the element and its descendents.
The language context is only significant for elements and attributes declared
to be "Language-Sensitive". Requirements regarding the content and interpretation
of xml:lang are specified in XML 1.0 <xref target="W3C.REC-xml-20060816" />,
Section 2.12.</t>
</section>
<section title="The f:feature element">
<t>The f:feature element is used in an app:collection element to declare the
collection's support for a feature.</t>
<figure><artwork><![CDATA[
namespace f = "http://purl.org/atompub/features/1.0"
feature = element f:feature {
atomCommonAttributes,
attribute ref { atomUri },
attribute href { atomUri }?,
attribute label { text }?,
(anyElement)*
}
anyElement = element * - f:feature {
(attribute * { text }
| text
| anyElement)*
}
]]></artwork></figure>
<t>The ref attribute specifies a globally unique IRI identifying a feature.
The value of the ref attribute MUST be compared on a case-sensitive,
character-by-character basis. Relative references MUST NOT be used. The IRI
is used strictly for identification and cannot be assumed to be dereferenceable.</t>
<t>An optional href attribute MAY be used to specify a dereferenceable IRI of a
human-readable description of the feature. Relative references MAY be used.</t>
<t>The optional label attribute MAY be used to specify a human-readable
label for the feature. The value of the label attribute is Language-Sensitive
as defined by Section 2 of <xref target="RFC4287" />.</t>
<t>The f:feature element MAY contain a mix of text and any number of child elements and
attributes from any XML namespace, with the exception of the f:feature element
itself. Such markup is considered to be metadata applicable to the feature
identified. Software agents MUST NOT stop processing or signal an error or change
their behavior as a result of encountering such markup.</t>
<t>An app:collection element MAY contain any number of f:feature elements but
MUST NOT contain more than one with the same ref attribute value. The order
in which f:feature elements appear within the app:collection element is insignificant.</t>
<t>The presence of a f:feature element is an indication that the collection
supports the feature identified. The lack of a f:feature element identifying a
particular feature indicates that support for that feature is unspecified. This
does not mean that the feature is not supported, only that the server has not
explicitly declared support. There are no means by which a server can indicate
that a given feature is unsupported.</t>
<section title="Example">
<figure><preamble>The following is an example of a collection using the f:feature
element to indicate its support for the app:draft element as defined
by <xref target="RFC5023" />.</preamble>
<artwork><![CDATA[
<service
xmlns="http://www.w3.org/2007/app"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:f="http://purl.org/atompub/features/1.0">
<workspace>
<atom:title>My Workspace</atom:title>
<collection href="...">
<atom:title>My Atom Collection</atom:title>
<accept>application/atom+xml;type=entry</accept>
<f:feature
ref="http://purl.org/atompub/features/1.0/supportsDraft" />
</collection>
</workspace>
</service>
]]></artwork></figure>
</section>
</section>
<section anchor="supportsdrafts" title="The "supportsDraft" Feature">
<t>The "supportsDraft" feature is used to indicate that a collection supports the
use of the app:draft control element as defined by Section 13.1.1
of <xref target="RFC5023" />. The IRI of the "supportsDraft" feature is:</t>
<figure><artwork> http://purl.org/atompub/features/1.0/supportsDraft</artwork></figure>
</section>
<section anchor="ignoresdrafts" title="The "ignoresDraft" Feature">
<t>The "ignoresDraft" feature is used to indicate that a collection will ignore the
use of the app:draft control element as defined by Section 13.1.1
of <xref target="RFC5023" />. The IRI of the "ignoresDraft" feature is:</t>
<figure><artwork> http://purl.org/atompub/features/1.0/ignoresDraft</artwork></figure>
<t>A server MUST NOT declare support for both the "supportsDraft" and "ignoresDraft"
features within the a single app:collection element.</t>
</section>
<section anchor="security" title="Security Considerations">
<t>Specific features supported by a collection may introduce
security considerations and concerns beyond those discussed by the Atom
Publishing Protocol and Atom Syndication Format specifications. Implementors
must refer to the specifications and description of each feature
to determine the security considerations relevant to each.</t>
</section>
<section title="IANA Considerations">
<t>This specification does not define any actions for IANA.</t>
</section>
</middle>
<back>
<references title="Normative References">
&rfc2119;
&rfc4287;
&rfc5023;
&rfc3986;
&rfc3987;
&infoset;
&xmlnames;
&xmlbase;
&xml;
</references>
<section title="Acknowledgements">
<t>The author acknowledges the feedback from the other members of the
IETF Atom Publishing working group during the development of this
specification.</t>
</section>
</back>
</rfc>
| PAFTECH AB 2003-2026 | 2026-04-24 05:26:16 |