Internet Draft

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-

    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

    The list of Internet-Draft Shadow Directories can be accessed at

Copyright Notice

    Copyright (C) The Internet Society (2006).


    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",
   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

   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

    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 "" from the
      ii) Remove the suffix "#" from the resulting string.

      As an example, the namespace ""
      corresponds to a version attribute of "1.0". Likewise, the
      namespace "" 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

      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

    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

      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 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 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
      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
      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

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


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