Considering a +rdf+xml Media Type Convention

Status of this Document

This is a collection of thoughts by ericP.

Table of Contents

Parallels With +xml Media Types

RFC 3023 contains a set of arguments for a +xml media suffic convention. The RDF column may as well go away 'cause the parallels are pretty obvious.

QuestionXML answerRDF analog
1. Why not /xml?
(Why not /rdf?)
  • XML defines new datatypes
  • opaquely handle-able by mime processor
RDF also defines new datatypes
2. Why not follow */vnd.*?
  • subtree is orthogonal from whether the media type uses XML syntax
  • allows XML document types to be identified within any subtree
same applies for RDF
3. Why not use xml/? top-level MIME determines content type, not syntax ...
4. Why not sniff for XML? breaks HTTP HEAD and (e.g. IMAP4 Content-Type selection) ...
5. Why not use a parameter?
  • XML-ness of media is invariant; parameters are not invariant
  • practically, no dispatches by media type
  • ...
  • RDF apps seem to follow same trend
6. application/xml; Content-Feature=iotp?
  • really breaks given no dispatches by media type
  • tree negotiation, e.g. image/xml Content-Feature=svg???
7. special (higher-priority) parameter, e.g. application/iotp; $superclass=xml?
  • combines previous two problems
  • how is it different? is superclass already known?
8. Why not use Content-Disposition?
  • requires bilateral upgrades
  • practically, no dispatches by media type
9. Why not use Alternative-Content-Type?
  • requires bilateral upgrades
  • more common API support to set Content-Type than to set arbitrary headers
10. Why not use conneg (e.g., accept-features: (syntax=xml))? Conneg is still in the oven.
11. How about three levels, e.g. text/xml/rdf?
12. Why use '+'?
13. difference between text/foo and text/foo+xml?
  • by conventional (at the time) infrastructure, completely different
  • xml variants may include new semantics [should make a decision here, the designers or world can adjust when semantics change]
14. And when then next encoding comes along? follow convention, use application/foo+rdf+xml for XML and application/foo+rdf otherwise
15. Must I use the '+xml'?
  • you don't have to
  • should leave space for unanticipated generic processing utility

Counter Arguments

The principal contested use of +rdf+xml that I can see is that it may be more useful to reserve it for the subset of XML documents with a fixed XML schema so that XML processors can really make use of it. For example, a document learning that ericP-foaf.rdf is application/foaf+rdf+xml could look for a stylesheet associated with that document's content model. If this is a goal, we should not use application/powder-s+rdf+xml for POWDER-S as there is no defined XML schema for it.

Evolution Path

Following the recommendation of point 14, text/ical+rdf+xml and text/ical+rdf+ttl may be useful somday.


$Log: Overview.html,v $
Revision 1.3  2008/12/05 16:32:44  eric
~ slightly prettier

Revision 1.2  2008/12/05 16:31:30  eric
+ note that RDF analog column in danger

Revision 1.1  2008/12/05 16:23:44  eric

Revision 1.2  2008/12/05 16:10:53  eric
+ Table of Contents

Revision 1.1  2008/12/05 16:06:54  eric

$Id: Overview.html,v 1.3 2008/12/05 16:32:44 eric Exp $