RE: [dita] mime type for DITA

From
Grosso, Paul <>
Date
2008-04-19T13:43:59+00:00
ID
Thread
RE: [dita] mime type for DITA
See also RFC 3023 at ftp://ftp.ietf.org/rfc/rfc3023.txt.

 

paul

 

  

  
  From: Erik Hennum [mailto:] 
  
Sent: Friday, 2008 April 18 19:57
To: 
  
Subject: [dita] mime type for 
  DITA

  

  
Hi, DITA-Minded Technical Committee:

I thought it might be useful to 
  refresh the thread about mime types with a summary of the proposal prior to 
  the meeting.

This proposal is really a light modification on Jeff's 
  analysis. (Jeff, do you have an RFC reference for the format and type mimetype 
  keywords? I could swear I've seen them but can't find it for the life of 
  me.)

Please note the DISCUSSION item below about the 
  type.

Thanks,

Erik 
  Hennum


======================
= A mime 
  type for DITA
======================

MOTIVATION:

Where 
  client tools needs to download documents from a CMS (potentially via WebDAV) 
  and route requests to open those documents to the desktop editor that 
  understands DITA specialization.

Such client tools needs to distingish 
  DITA topics and maps (with base or specialized vocabularies) from other XML 
  documents (XMI, SVG, what have you) provided by the CMS system. The CMS 
  typically stores the document without an extension, so the tool can't rely on 
  file-system mechanisms for recognizing DITA vocabularies. If the tool simply 
  passes through the document from the CMS to the client Operating System, the 
  web brower might open the XML topic instead of the DITA-aware editor. Without 
  a MIME type, the tool will have to open and parse the initial part of the file 
  to recognize DITA topics and maps, which will be very 
  inefficient.

PROPOSAL:

The mime type record (such as an HTTP 
  header) has the following fields:

* The application/dita+xml mime type 
  identifies any document that use DITA specialization.
* The format property 
  identifies the base vocabulary for the specialized document (in particular, 
  topic or map). 
* The type property identifies the specialized vocabulary. 
  

The character set and encoding fields have no DITA-specific 
  considerations.

NOTE: Topics of ditabase don't have a separate format 
  because they are just topic documents with a list of topics rather than a 
  single topic.

NOTE: Because it doesn't have specialization, the DITA 
  values file requires a separate mime type of application/ditaval+xml. If it 
  ever becomes specialized, the mime type of application/dita+xml and format of 
  ditaval would be applicable.

DISCUSSION: The type property could 
  reflect either:

* The type of the root topic, first topic (for 
  ditabase), or map by using the class attribute (replacing spaces with a legal 
  separator character)
* The name of the shell

The case for using the 
  topic type: Fallback processing becomes possible for the root type prior to 
  opening the document. If the document is declared as javaClass and the 
  receiver understands apiClassifier, the receiver knows that it can process the 
  vocabulary before opening the document. If the receiver cares about domains or 
  subtopics, however, the receiver must open the topic to detect 
  them.

The case for declaring the shell: If the receiver knows the 
  shell, the receiver understands everything about the document without opening 
  it including the root type, nested topics or topics after the first for 
  ditabase as well as domains in either topic or map. If the receiver doesn't 
  know the shell identifier, however, the receiver would have to open the 
  document to determine fallback processing. 

REFERENCE:

http://en.wikipedia.org/wiki/MIME
http://tools.ietf.org/html/rfc2046
http://tools.ietf.org/html/rfc3023