Internet Draft draft-miller-media-type-cellml-00.txt Intended Status: Network Working Group A. K. Miller Request for Comments: nnnn The University of Auckland Standards Track March 2006 CellML Media Type Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of 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/1id-abstracts.html The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html Copyright Notice Copyright (C) The Internet Society (2006). Abstract This document standardises a new media type -- application/cellml+xml -- for use in exchanging mathematical models represented in the CellML markup language. 1. Introduction CellML is a standardised markup language for the interchange of mathematical models. The syntax and semantics of CellML is defined by [CELLML]. To enable the exchange of CellML documents, this document standardises a new media type -- application/cellml+xml -- for use in exchanging mathematical models represented in the CellML markup language. 2. Notational Conventions 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]. The terms "element" and "document element" in this document are to be interpreted as in [XML]. The term "component" in this document is to be interpreted as in [CELLML]. The term "XML MIME entity" is to be interpreted as in [RFC3023]. The term "XML namespace" is to be interpreted as in [NAMESPACES]. 3. Discussion CellML is an XML-based markup language for the interchange of mathmatical models. It is defined by [CELLML]. CellML is an actual media format. Although CellML documents contain elements defined by [MATHML] and [RDF], the information in these namespaces do not contain sufficient information to define a mathematical model, and so CellML provides the information required to interconnect the different CellML components, as well as the information required to link CellML components to their metadata. As such, CellML documents are more than just a collection of MathML or RDF entities, and so a new media type is required to identify CellML. As all well-formed CellML documents are also well-formed XML documents, the convention described in Section 7 of [RFC3023] has been observed by use of the +xml suffix. The information in CellML documents cannot be interpreted without understanding the semantics of the XML elements used to mark up the model structure. Therefore, the application top-level type is used instead of the text top-level type. New versions of the CellML specification are released from time to time. All versions of the CellML specification are encoded in XML, and utilise namespaces to denote their version. CellML processing software SHOULD check the namespace of the document element in order to determine whether or not they have the capability to process a given document. 4. Media Type Registration MIME media type name: application MIME subtype name: cellml+xml Mandatory parameters: none Optional parameters: charset and version The charset parameter of application/cellml+xml is handled in the same fashion as for application/xml, as specified in Section 3.2 of [RFC3023]. The version parameter of application/cellml+xml specifies the version of the CellML specification to which the document conforms. This information is also present in the content of the XML MIME entity, as the namespace of the top-level element. As all versions of the CellML specification provide a unique namespace in a particular form, the rule to map a CellML namespace to a version parameter is as follows: i) Remove the prefix "http://www.cellml.org/cellml/" from the namespace. ii) Remove the suffix "#" from the resulting string. As an example, the namespace "http://www.cellml.org/cellml/1.0#" corresponds to a version attribute of "1.0". Likewise, the namespace "http://www.cellml.org/cellml/1.1#" corresponds to a version attribute of "1.1". A MIME encoder MUST NOT produce an XML MIME entity with the application/cellml+xml media type and with a version parameter which does not correspond to the namespace of the document element. Although the version parameter is redundant when used to produce an XML MIME entity, it MAY also be included in the Accept header of a HTTP request[RFC2616], in order to request that a document conforming to a certain version of the CellML specification be served. Encoding considerations: As per Section 3.2 of [RFC3023]. Security considerations: As per Section 5 of this document. Interoperability considerations: The interoperability considerations in Section 3.1 of [RFC3023] also apply to CellML documents. CellML documents contain XML elements defined by [CELLML], [MATHML], and [RDF], all of which are published specifications. In addition to the ability to parse XML, user agents require software support for the semantics of one or more of these three specifications to use the information in CellML documents. Published specification: CellML Specifications[CELLML]. Applications which use this media type: CellML is device-, platform-, and vendor-neutral and is supported by a wide range of CellML processing tools, including those designed to validate, edit, and/or visualise CellML models, extract MathML or RDF, translate to or from other related specifications, evaluate mathematics and ordinary differential equations, and fit parameters to models. Additional information: Magic number(s): None. XML processing software may identify CellML documents as XML documents which contain a document element with local name "model" and a namespace URI beginning with "http://www.cellml.org/cellml/". File extension(s): The recommended file extension for CellML documents is .xml Some older CellML processing software still uses the obsolete file extension .cml Macintosh File Type Code(s): "TEXT" Person & email address to contact for further information: See the Author's Address section of this document. Intended usage: COMMON Author/Change controller: The CellML specification was authored through the collaboration of a number of individuals, including: Autumn Cuellar Poul Nielsen Matt Halstead David Bullivant David Nickerson Warren Hedley Melanie Nelson Catherine Lloyd The CellML specification is controlled by the Bioengineering Institute at The University of Auckland, with input from the CellML Community via the cellml-discussion@cellml.org mailing list. 5. Security Considerations As CellML is an XML based markup language, all the security considerations presented in section 10 of [RFC3023] also apply to CellML. CellML documents can refer to other Uniform Resource Locators (URLs) in a number of places: i) References to XML document type definitions or schemas. ii) References to other models using the CellML import feature. iii) References to other documents embedded in user-defined data. Some types of CellML processing software may then automatically attempt to access the URL and retrieve the document. This retrieval could have several consequences, specifically, i) if a CellML document is transferred via e-mail, the fact that the recipient has opened the CellML document could be disclosed to the sender without the recipient's knowledge or consent. ii) where the recipient of a document transfers the document to another location using the MIME type defined in this document, the original author of the document may be notified of the second address by the attempted retrieval of further documents. iii) by performing requests on the recipient's behalf, the CellML processing software may cause actions to be performed with privileges granted to the recipient, without the recipient's knowledge or consent. CellML processing software can mitigate this threat when running in an environment where it is a concern by requiring explicit confirmation from the user before attempting to load any external documents. 6. IANA Considerations This document specifies a new media type. IANA will add this media type to the media types registry as specified in [RFC4288]. 7. References 7.1. Normative References [CELLML] Cuellar, et. al. "CellML 1.1 Specification", 6 November 2002, [NAMESPACES] Bray, T., et. al., "Namespaces in XML 1.1", 4 February 2004, [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", RFC 2119, BCP 14, March 1997 [RFC3023] Murata, M., Simon, S.L., Kohn, D., "XML Media Types", RFC 3023, January 2001 [XML] Bray, T., et. al., "Extensible Markup Language (XML) 1.0 (Third Edition)", 4 February 2004, 7.2. Informative References [MATHML] Ion, P. and Miner, R.(editors) "Mathematical Markup Language (MathML) 1.01 Specification", 7 July 1999, [RDF] Beckett, D.(editor) "RDF/XML Syntax Specification (Revised)", 10 February 2004, [RFC2616] Fielding, R.T., et. al., "Hypertext Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999 [RFC4288] Freed, N. and Klensin, J.C., "Media Type Specifications and Registration Procedures", RFC 4288, BCP 13, December 2005 Author's Address Andrew Miller The Bioengineering Institute at The University of Auckland Level 6, 70 Symonds St Auckland Central Auckland E-mail: ak.miller@auckland.ac.nz Full Copyright Statement Copyright (C) The Internet Society (2006). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.